Linux之tcpdump

参数详解

参数 含义
-i 指定tcpdump监听的网络接口 eth0 bond0等等
-c 指定要监听的数据包数量,达到指定数量后自动停止抓包
-w 指定将监听到的数据包写入文件中保存
-A 指定将每个监听到的数据包以ACSII可见字符打印
-n 指定将每个监听到数据包中的域名转换成IP地址后显示
-nn 指定将每个监听到的数据包中的域名转换成IP、端口从应用名称转换成端口号后显示
-e 指定将监听到的数据包链路层的信息打印出来,包括源mac和目的mac,以及网络层的协议
-p 将网卡设置为非混杂模式,不能与host或broadcast一起使用
-r 指定从某个文件中读取数据包
-S 指定打印每个监听到的数据包的TCP绝对序列号而非相对序列号
-c 抓的包个数 数字
-T 强制tcpdump按type指定的协议所描述的包结构来分析收到的数据包.目前已知的type 可取的协议为:cnfp,tftp,rtcp等
-xx 以16 进制数形式显示每一个报文(包含链路层报头)
-X 以16 进制数形式显示每一个报文(不包含链路层报头),同时显示ASCII码。
-XX 以16 进制数形式显示每一个报文(包含链路层报头),同时显示ASCII码。
-s 重定义截取报文大小,默认为96(或68),如果定义为0,则表示获取完整报文。该参数应尽量小,尤其在繁忙网络环境中。
-w 将截取的报文输出到文件中。
-r 从文件中读取报文。
-vvv 用于输出详细的交互数据。
-Q 指定从监听的接口(网卡)的入方向或出方向抓取报文。

用法

1.从eth0端口抓取ip为10.99.207.130的所有报文,并将报文的二层信息打印
tcpdump -i eth0 -ne host 10.99.207.130

2.从vswitch0抓取ip为10.99.207.130,且从vswitch0发送出去的报文,此条命令不会抓取vswitch0上收到的报文。
tcpdump -i vswitch0 host 10.99.207.130 -Q out

3.从vnet2抓取DHCP交互报文
tcpdump -i vnet2 -ne udp and port 67 and port 68

4.从eth0上抓取ping报文
tcpdump -i eth0 -ne icmp

5.从eth0上抓取源mac是60:da:83:0c:7f:e9的报文
tcpdump -i eth0 -ne ether src 60:da:83:0c:7f:e9

6.从eth0上抓取协议号是0x88cc的报文(LLDP)
tcpdump -i eth0 ether proto 0x88cc

7.从eth0抓取源ip 10.99.207.130和目的ip 10.99.190.54的报文。
tcpdump -i eth0 -ne src 10.99.207.130 and dst 10.99.190.54

8.从eth0抓取ip是10.99.190.53,端口是22(SSH)的报文
tcpdump -i eth0 -ne port 22 and host 10.99.190.53

9.从eth0抓取报文并保存在文件/home/eth0.pcap中
tcpdump -i eth0 -w /home/eth0.pcap

tcpdump -i eth0 -s 0 -c 100 host 192.168.113.251 -w ./myh1.cap
tcpdump -i eth0  -nn -XX tcp port 21
tcpdump -i eth0  -nn icmp
tcpdump -i bond0 -vnn icmp and host  192.140.131.2 and  192.140.131.3 -ne


抓取所有经过 eth0,目的或源地址是 10.37.63.255 的网络数据:
tcpdump -i eth0  host 10.37.63.255 

抓取主机192.66.0.218发送的所有数据:
tcpdump -i eth0 src host 192.66.0.218

抓取主机192.66.0.218接收的所有数据:
tcpdump -i eth0 dst host 192.66.0.218

抓取主机10.37.63.255和主机10.37.63.61的通信:
tcpdump host  10.37.63.255 and 10.37.63.61

抓取主机10.37.63.3所有在TCP 80端口的数据包:
tcpdump -i  eth0 host 10.37.63.3 and tcp port 80

将抓取结果保存在文件
tcpdump -A -i eth0 -w file1 host www.baidu.com
读取文件信息
tcpdump -r file1

获取主机135.252.33.186除了和主机135.252.142.150之外所有
主机通信的ip包,使用命令
tcpdump ip host 210.27.48.1 and ! 210.27.48.2

获取主机135.252.33.186接收或发出的telnet包
tcpdump tcp port 23 host 135.252.142.150

获取主机135.252.142.121端口5060上的所有数据包
tcpdump port 5060 and host 135.252.142.121

获取主机135.252.142.150所有udp数据报
tcpdump udp and host 135.252.142.150
or:
tcpdump ip proto \\udp and host 135.252.142.150

获取主机和135.252.142.150的源端口为5060, 目的端口为45413的数据报
tcpdump src port 5060 and dst port 45413 and host 135.252.142.150
posted @ 2024-09-04 15:27  *一炁化三清*  阅读(27)  评论(0编辑  收藏  举报