Linux命令:tcpdump命令

tcpdump网络抓包工具

格式:tcpdump [options] [表达式]

 

optinos选项

  -i any:监听所有网络接口

  -i eth0:监听指定的网络接口(eth0)

  -D:列出所有可用的网络接口

  -n:不解析主机名

  -nn:不解析主机名和端口名

  -q:输出较少的信息

  -t:更便于阅读的时间戳输出

  -tttt:最便于阅读的时间戳输出

  -X:以 HEX 和 ASCII 模式输出数据包的内容

  -XX:与 -X 选项相同,同时还输出 ethernet 头

  -v, -vv, -vvv:输出更多数据包的信息

  -c:获取到指定数目的数据包后就停止

  -s:定义 snaplength (size) ,-s0 表示获取全部

  -S:输出绝对序列号

  -e:获取 ethernet 头信息

  -E:通过提供 key 来解密 IPSEC 流量

  -w /tmp/xxx.pcap  :指定抓包的结果保存到具体文件

 

表达式:

通过表达式可以对各种不同类型的网络流量进行过滤,以获取到需要的信息。这也是 tcpdump 强大功能的一个体现。
主要有 3 种类型的表达式:

  Type(类型)选项包括 host 、net 和 port

  Direction(方向)选项包括 src 和 dst 以及它们的组合

  Proto(协议)包括 tcp 、udp 、ICMP 和 ah 等

举例
# tcpdump -i eth0 -c 10 -w /tmp/icmp.pcap icmp     #抓icmp包
# tcpdump -i eth0 -c 10 -w /tmp/icmp.pcap port 80  #抓tcp 80的包

 

注意:为了便于分析,可以将抓取的包通过windows的wireshark软件来分析查看。

 

 

posted on 2019-09-16 16:45  强叔Linux  阅读(323)  评论(0编辑  收藏  举报