tcpdump -help
tcpdump version 4.99.1
libpcap version 1.5.3
Usage: tcpdump [-AbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ] [--count]
[ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
[ -i interface ] [ --immediate-mode ] [ -j tstamptype ]
[ -M secret ] [ --number ] [ --print ] [ -Q in|out|inout ]
[ -r file ] [ -s snaplen ] [ -T type ] [ --version ]
[ -V file ] [ -w file ] [ -W filecount ] [ -y datalinktype ]
[ --time-stamp-precision precision ] [ --micro ] [ --nano ]
[ -z postrotate-command ] [ -Z user ] [ expression ]
一些常用的参数解释:
-i (interface): 后面跟接口名称 使用ifconfig -a查看
如下 eth0 、 lo 表示接口名
举例:
tcpdump -i lo 正在监听 lo这个接口 -vv用于完整协议解码
- -c (count): 指定抓取包的数量
- tcpdump -i lo -c 10 表示对lo接口抓取10个包
- -s0:抓取包长度不受限制 ;
- -v 或者-vv: 显示完整协议指令过程
- -e: 显示链路层头部
- -w: 存储到指定的文件,保存的这个文件一般用wireshark打开
- -x 用十六进制字码列出数据包资料。
- -i 网络接口(需要抓取的网络接口截面)
- -n 不把主机的网络地址转换成名字。
举例: 抓取 sync接口 10个包 保存在mysync_10p.cap文件,显示链路层头部显示完整协议
tcpdump -i sync -e -vv -c 10 -w mysync_10p.cap
生成文件后传送到pc端使用wireshark查看;
如何抓取指定的报文?
基于mac的 :基于源mac或者目的mac抓取
tcpdump -i sync ether src xx:xx:xx:xx:xx:xx -e -vv -c 10 -w mysync_10p.cap
tcpdump -i sync ether dst xx:xx:xx:xx:xx:xx -e -vv -c 10 -w mysync_10p.cap
基于IP抓取报文: host 192.168.110.11
tcpdump -i sync ether host 192.168.110.11 -e -vv -c 10 -w mysync_10p.cap
参考博主:
TCPdump抓包命令详解 - zhuimeng~ - 博客园 (cnblogs.com)
tcpdump抓包命令详解大全_ljbcharles的博客-CSDN博客_tcpdump抓包命令
【linux】【tcpdump】linux之tcpdump抓包及wireshark分析详解_微橙的博客-CSDN博客_linux tcpdump wireshark