tcpdump抓包命令

简介:tcpdump是一个可以根据需求来抓取网络上传输的数据包的工具

常用的命令选项有:

-c count
// count表示数量。抓取数据包的数量达到count后结束命令,如果不使用-c 参数,会不停的抓取数据包,直到手动停止

-C file_size // -C 10:每10M保存一个包
// 抓取数据包保存到文件时,通过该命令指定文件的大小。文件达到指定大小后,会创建一个在原文件名称后面加上序号的新文件,如:dump.txt,dump.txt1。file_size的单位是b

-D // 列出服务器所有网卡。tcpdump默认监听的是编号最小的那个网卡,一般是eth0。在进行抓包时可以通过 -i 参数指定监听的网卡,any表示监听所有网卡

-s:截取报文的内容,默认截取96字节,-s0表示截取全部

-G 600:每10分钟保存一个包

-i interfaces
// 指定监听的网卡名称,any表示监听所有的网卡

-n
// 输出结果中,不把ip转换成主机名(默认显示的是主机名)

-q
// 快速输出,只输出简要的数据包信息

-r file
// 从文件中获取数据包,不再从网络获取数据包

-t
// 不输出时间戳

-w file
// 将抓取的数据包保存到文件,-r 参数可以从文件中读取数据包

-W filecount
// 指定文件的数量,当文件滚动到指定数量后会从第一个文件开始覆盖

过滤的参数规则:

-host // 过滤主机,如 tcpdump host 192.168.1.110 只抓取经过这个ip的数据包

-src // 用来过滤请求来源方的参数,如:tcpdump src host 192.168.1.110 只抓取从这个ip过来的数据包

-dst // 用来过滤请求接收方的参数,如:tcpdump dst host 192.168.1.110 只抓取发送到这个ip的数据包

-port // 过滤端口,如:tcpdump port 8080 只抓取经过8080端口的数据包

-net // 过滤网络,如:tcpdump net 192.168 只抓取经过这个网段的数据包

连接运算符

and:所有的条件都满足

or:只要满足一个条件

not:取反,也可以用!

例子:

1、抓取主机172.0.0.1的eth0网口的8080、8081端口传输的数据包并保存文件

tcpdump -i eth0 -s0 port 8080 or port 8081 host 172.0.0.1 -w 1.pcap

2、按 crtl+c 停止抓包,当前目录会生成一个1.pcap文件

3、简单查看数据包内容

tcpdump -r 1.pcap

注:一般对抓取的数据包用Wireshark工具进行分析

转载自

https://www.cnblogs.com/yancool/p/16449026.html

posted @ 2023-01-04 10:12  爱吃砂糖橘的白龙  阅读(930)  评论(0编辑  收藏  举报