首页主机资讯Ubuntu Sniffer如何捕获数据包

Ubuntu Sniffer如何捕获数据包

时间2025-11-24 09:43:00发布访客分类主机资讯浏览282
导读:Ubuntu 下捕获数据包的常用方法与步骤 一、准备与权限 在 Ubuntu 上,常用的嗅探器包括 tcpdump(命令行)与 Wireshark/tshark(图形界面与命令行)。抓包通常需要 root 权限或加入 wireshark...

Ubuntu 下捕获数据包的常用方法与步骤

一、准备与权限

  • Ubuntu 上,常用的嗅探器包括 tcpdump(命令行)与 Wireshark/tshark(图形界面与命令行)。抓包通常需要 root 权限或加入 wireshark 用户组;为避免每次使用 sudo,可将当前用户加入该组并重新登录。抓包应仅在获得授权的网络环境中进行。

二、使用 tcpdump 捕获

  • 安装与查看网卡
    • 安装:sudo apt-get update & & sudo apt-get install tcpdump
    • 列出接口:sudo tcpdump -D(如 eth0、wlan0、lo、any
  • 基本抓包
    • 监听指定接口:sudo tcpdump -i eth0
    • 抓取少量包便于观察:sudo tcpdump -i eth0 -c 10
  • 保存与读取
    • 保存到文件:sudo tcpdump -i eth0 -w capture.pcap
    • 读取文件:tcpdump -r capture.pcap
  • 常用显示与过滤
    • 显示可读内容:sudo tcpdump -i eth0 -A(ASCII)或 -X(十六进制+ASCII)
    • 抓指定端口:sudo tcpdump -i eth0 port 80
    • 组合过滤(示例):sudo tcpdump -i eth0 “not tcp port 22 and host (192.168.1.112 or 192.168.1.113)”
  • 提示
    • 出现 “no suitable device found” 时,确认以 root 权限运行;接口名在不同系统可能为 eth0/wlan0/enp0s3 等。

三、使用 Wireshark 或 tshark 捕获

  • 安装与权限配置
    • 安装:sudo apt-get install wireshark
    • 允许非 root 抓包:安装时选择 Yes,或执行 sudo dpkg-reconfigure wireshark-common;随后将用户加入组:sudo usermod -aG wireshark $USER,并重新登录。
  • 图形界面抓包
    • 启动:wireshark(或 sudo wireshark)
    • 选择接口(如 eth0/wlan0)并点击鲨鱼鳍开始;使用显示过滤器如 tcp、ip.addr==192.168.1.10、udp.port==9900 精确定位流量;可保存为 .pcap 供后续分析。
  • 命令行抓包
    • 使用 tshark:sudo tshark -i eth0 -c 100 -w capture.pcap(按接口抓包并写入文件)。

四、过滤表达式与实用示例

  • 常用过滤语法
    • 按主机:host 192.168.1.10
    • 按端口:port 80 或 udp.port 53
    • 按协议:tcp、udp、icmp、arp
    • 逻辑组合:and、or、not;括号需转义或用引号包裹
  • 示例
    • 抓取两台主机之间的 TCP 通信:sudo tcpdump -i eth0 “host 192.168.1.10 and host 192.168.1.20 and tcp”
    • 抓取非 22 端口且来自/去往某网段:sudo tcpdump -i eth0 “not tcp port 22 and (src net 192.168.1.0/24 or dst net 192.168.1.0/24)”
    • 抓取 HTTP GET/HTTP 首部特征:sudo tcpdump -i eth0 -X ‘tcp[20:2]=0x4745 or tcp[20:2]=0x4854’(匹配 “GET/HT” 的十六进制)

五、排错与最佳实践

  • 权限与接口
    • 抓包需要更高权限;若提示无可用设备,确认以 root 运行并使用 tcpdump -D 检查接口名。
  • 抓包文件与性能
    • 长时间抓包请使用 -w 写入文件,并用合理过滤条件避免磁盘被占满;分析时再用 -r 或 Wireshark 打开。
  • 合法合规
    • 仅在自有网络或取得明确授权的主机上抓包,避免侵犯隐私或违反合规要求。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Sniffer如何捕获数据包
本文地址: https://pptw.com/jishu/754173.html
Ubuntu Sniffer如何解决冲突 Ubuntu下如何查看Node.js实时日志

游客 回复需填写必要信息