tcpdump 命令格式

tcpdump 命令格式

tcpdump [选项] [表达式]

1. 选项

常用选项:

  • -i : 网卡名: 指定网卡,默认抓取系统第一个网卡
  • -n : 对地址以数字方式显示
  • -nn :对地址端口以数字方式显示
  • -P [in | out ] : 指定要抓取的是流入还是流出方向的包 ,默认全部
  • s len : 抓取包的长度
  • -e:输出的每行中都将包括数据链路层头部信息,例如源MAC和目标MAC。
  • -q:快速打印输出。即打印很少的协议相关信息,从而输出行都比较简短。
  • -X:输出包的头部数据,会以16进制和ASCII两种方式同时输出。
  • -XX:输出包的头部数据,会以16进制和ASCII两种方式同时输出,更详细。
  • -v:当分析和打印的时候,产生详细的输出。
  • -vv:产生比-v更详细的输出。
  • -vvv:产生比-vv更详细的输出。
  • -D:列出可用于抓包的接口。将会列出接口的数值编号和接口名,它们都可以用于"-i"后。
  • -F:从文件中读取抓包的表达式。若使用该选项,则命令行中给定的其他表达式都将失效。
  • -w:将抓包数据输出到文件中而不是标准输出。 可以同时配合"-G time"选项使得输出文件每time秒就自动切换到另一个文件。 可通过"-r"选项载入这些文件以进行分析和打印。
  • -r:从给定的数据包文件中读取数据。使用"-"表示从标准输入中读取。

2. 表达式

多个表达式之间用 and , 排除在 IP 端口号前加not

  • host ip/net 抓取指定IP或网段的数据
  • src ip/net 来源ip或网段的数据
  • dst ip/net目标ip或网段的数据
  • 协议: tcp, udp , imcp 等等
  • src port num :源端口
  • dest port num : 目标端口
  • src portrang port1-port2: port1-port2源端口
  • dest portrang port1-port2:port1-port2目标端口

3. 举例

  1. 查询有哪些可用网络接口

    [root@localhost html]# tcpdump -D
    1.nflog (Linux netfilter log (NFLOG) interface)
    2.nfqueue (Linux netfilter queue (NFQUEUE) interface)
    3.ens192
    4.ens224
    5.any (Pseudo-device that captures on all interfaces)
    6.lo [Loopback]
    
  2. 指定网卡的全部流量

    tcpdump -i eth0 
    
  3. 指定网卡的全部流量 , 以数字方式显示IP和端口

    tcpdump -i ens192 -nn
    
  4. 指定网卡的全部流量 , 以数字方式显示IP和端口 ,只抓ip 协议 , 只抓入口流量

    tcpdump -i ens192 -nn -P in  ip
    
  5. 指定源ip 和目标ip, 目标端口22

    tcpdump -i ens192 -nn ip and src 10.100.90.200 and dst port 22 and dst 10.100.93.202
    
  6. 指定源ip 和目标ip, 目标端口为除22之外的所有端口

    tcpdump -i ens192 -nn ip and src 10.100.90.200 and dst port not 22 and dst 10.100.93.202
    
posted @ 2020-09-07 14:03  wyf368  阅读(282)  评论(0)    收藏  举报