tcpdump 抓包工具的使用

tcpdump 的使用方法

因为我常用来抓TCP的http包,所以我肯定是不会记录全部的使用方式的,仅记录自己常用的命令。

安装

# centos 安装命令
yum install -y tcpdump
# Ubuntu & debian 安装命令
apt-get install -y tcpdump

参数

option describe example
-i xxx 指定对哪张网卡进行抓包,抓全部网卡的包用 -i any tcpdump -i enth0 仅抓enth0网卡的包
dst xx.xx.xx.xx 抓目的IP是xx.xx.xx.xx的包
src xx.xx.xx.xx 抓源IP是xx.xx.xx.xx的包
dst port xxx 抓目的端口是xxx的包 tcpdump port 8080 仅抓8080端口的包
dst portrange xxx-yyy 抓目的端口范围是是xxx到yyy的包
src port xxx 抓源端口是xxx的包
src portrange xxx-yyy 抓源端口范围是xxx到yyy的包
src net xx.xx.xx.xx/y 抓源地址处于某个网段的包,y代表子网掩码位数
dst net xx.xx.xx.xx/y 抓目的地址处于某个网段的包,y代表子网掩码位数(这种命令工作中我一般用不上)
-w xxx.pcap 将抓包内容写入文件 tcpdump -w aaa.pcap
src xx.xx.xx.xx 抓目的IP是xx.xx.xx.xx的包
dst xx.xx.xx.xx 抓源IP是xx.xx.xx.xx的包
-nn 不进行域名解析,只显示数字形式的 IP 地址和端口号
-X 以十六进制(hex)和ASCII码的形式显示每个数据包的内容(对于分析http包很有用)
-t 不输出抓包时间
-tt 将抓包时间以时间戳形势显示
-ttt 不显示抓包时间,显示本次抓包与上次抓包的时间间隔(毫秒级)
-tttt 以yyyy-MM-dd HH:mm:ss:ms 格式显示抓包时间(最直观,推荐使用)
-c x 抓取到x个包后,tcpdump自动停止抓包
and 条件连接符——与
or 条件连接符——或

格式【我抓包的格式】

tcpdump -i 网卡名 网络协议 抓包条件组合 -nnX -tttt

# 抓全部网卡的源IP是192.166.78.33,源端口是8088的包1000个,并将抓包内容写入get.pcap文件
tcpdump -i any tcp src port 8088 and src 192.168.78.33 -tttt -c 1000-w get.pcap

# 抓网卡enth0处理的源IP是192.166.78.33或192.166.78.32的包共1000个,并将抓包内容写入get.pcap文件
tcpdump -i enth0 tcp src 192.166.78.33 or src 192.166.67.32 -tttt -w get.pcap

# 抓本机发给192.166.78.33的包,并将抓包内容写入get.pcap文件
tcpdump -i any tcp dst 192.168.78.33 -tttt -w get.pcap

# 抓网卡enth0处理的192.168.78.0/24网段内所有发进来的包,并将抓包内容写入get.pcap文件
tcpdump -i any tcp dst net 192.168.78.0/24 -tttt -w get.pcap

⚠️ 提醒

如果使用过wireshark这款软件的开发者,可以把Linux上抓包的文件取到本地,用它打开读取,十分方便

posted @ 2024-06-28 23:50  勤匠  阅读(31)  评论(0编辑  收藏  举报