循序渐进教你学运维-基础命令篇6

循序渐进教你学运维-基础命令篇6

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的包

你可能感兴趣的:(循序渐进教你学运维-基础命令篇6)