tcpdump小手册

tcpdump 抓包选项:

  • -c :指定抓包数
  • -i :指定接口
    • -i any :抓所有接口
    • -D :显示接口
  • -nn :转换协议号和端口号
  • -F : 指定过滤表达式所在的文件
  • -w : 保存流量
  • -r : 回放流量
  • -Q :指定抓包方向 in、out、默认inout (不一定支持所有平台)

tcpdump 输出选项

  • -e :增加以太网帧头部信息输出
  • -q :简洁输出
  • -X :显示协议头和包内容
    • XX :从以太网部分开始显示网络包内容
  • -t :输出时不打印时间戳
  • -l :使得输出变为行缓冲
  • A :只显示ascii形式的数据包
  • -v、 -vv、 -vvv

tcpdump 过滤

  • host :指定主机或ip
  • net :指定网段
  • port :指定某个端口
  • postrange :指定端口区间

tcpdump 抓包例子

  1. 抓到那些通过eth0网卡的,且来源是roclinux.cn服务器或者目标是roclinux.cn服务器的网络包

    • tcpdump -i eth0 'host roclinux.cn'
  2. 抓通过eth0网卡的,且roclinux.cn和baidu.com之间通讯的网络包,或者,roclinux.cn和qiyi.com之间通讯的网络包

    • tcpdump -i eth0 'host roclinux.cn and (baidu.com or qiyi.com)'
  3. 获取使用ftp端口和ftp数据端口的网络包

    • tcpdump 'port ftp or ftp-data'
  4. 使用en5接口获取5个icmp网络包

    • tcpdump -i en5 -nn -c 5 icmp

/etc/services这个文件里面,存储着所有知名服务和传输层端口的对应关系,tcpdump会从该文件读取相关信息。如果你直接把/etc/services里的ftp对应的端口值从21改为了8888,那么tcpdump就会去抓端口含有8888的网络包了。

你可能感兴趣的:(tcpdump小手册)