首先介绍一下什么是tcpdump
tcpdump是Linux下的命令行抓包分析软件,而且在Linux下抓包很好用,一般企业的Linux运行等级为3,
即多用户命令行模式,为了排错经常使用Tcpdump,tcpdump本身功能十分强大,保存的文件也可以直接使用Wireshark打开
Tcpdump抓包指南之关键字的使用
1.类型关键字: host,net,port
2.传输关键字:src,dst
3.协议关键字:tcp,udp,http,arp,ftp
一、类型关键字的使用
1.抓取单个目标IP的包
tcpdump -i host 192.168.1.1
-i 的作用是指定监听哪个网卡
![](https://i-blog.csdnimg.cn/blog_migrate/f9d015f4a317ac6fb45f683aad4cf4dd.png)
2.抓取目标网段的包
tcpdump -i eth0 net 192.168.1.0/24 需要注意的是,
抓取一个网段的数据包时记得带上掩码
192.168.1.0主机位为0表示网段
![](https://i-blog.csdnimg.cn/blog_migrate/04325b80a2067e1ee13f810cf28db010.png)
3.抓取指定端口的包
tcpdump -i eth0 port 22
![](https://i-blog.csdnimg.cn/blog_migrate/442f6425b2b9f988f02549fdf8d75866.png)
二、按照传输关键字抓包
1.抓取源地址为XXX的包
tcpdump -i eth0 src host 192.168.1.1
![](https://i-blog.csdnimg.cn/blog_migrate/13b501f9901e969c413be586bd98d8b1.png)
2.抓取目的地址是XXX的包
tcpdump -i eth0 dst host 182.92.20.186
182.92.2
0.186是熊猫TV的ip地址
![](https://i-blog.csdnimg.cn/blog_migrate/1e222140cc2cd957e89bcab2612356e1.png)
3.按照协议关键字抓包
例:
1.按照抓取ARP协议的包
![](https://i-blog.csdnimg.cn/blog_migrate/43cdef40c6dc1db0865f92617db9ad4f.png)
2.抓取tcp协议包
![](https://i-blog.csdnimg.cn/blog_migrate/26fbec1bd137ad04f351998352f7a43e.png)
三、Tcpdump抓包简单实战
1抓取172.16.1.122的数据包
![](https://i-blog.csdnimg.cn/blog_migrate/f1ff8231c0a305f6b8986994d02431bf.png)
2.抓取ICMP协议的数据包
tcpdump -i eth0 icmp
![](https://i-blog.csdnimg.cn/blog_migrate/360e5c9e5e93112931a4632cdc29da99.png)
3.抓取源ip为182.92.20.186的数据包
tcpdump -i eth0 src host 182.92.20.186
![](https://i-blog.csdnimg.cn/blog_migrate/ea9125f77cc3b20a1f1245a7fdf366af.png)
4.抓取目的端口为80的数据包(80端口默认是web服务端口)
tcpdump -i eth0 dst port 80
![](https://i-blog.csdnimg.cn/blog_migrate/8957401e76c1e6248cbf457b516b394b.png)
5.抓取源ip是192.168.1.101 而且端口是22的数据包 (192.168.1.101是kali系统的IP)
tcpdump -i eth0 src host 192.168.1.101 and port 22
![](https://i-blog.csdnimg.cn/blog_migrate/37aee0032fc7d7cada56b46c383a2fc7.png)
6..抓取源ip是192.168.1.101 而且端口不是22的数据包
tcpdump -i eth0 src host 192.168.1.101 and not port 22
![](https://i-blog.csdnimg.cn/blog_migrate/0311eee3109474b2195aaba1c7abfac1.png)
7.
把抓取的数据包记录到/tmp/chao.txt 文件中,当抓取10个数据包后退出
tcpdump -i eth0 -vnn -w /tmp/chao.txt -c 10
![](https://i-blog.csdnimg.cn/blog_migrate/161eb0432b042c9dc346868e0a22d2cc.png)
8.将抓包结果输出为cap格式的文件,可以在Wireshark和其他软件中打开
![](https://i-blog.csdnimg.cn/blog_migrate/c9d27c87e955bba7e52acc54216367d3.png)