tcpdump

Usage: tcpdump [-aAdDefhIJKlLnNOpqRStuUvxX] [ -B size ] [ -c count ]
[ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]
[ -i interface ] [ -j tstamptype ] [ -M secret ]
[ -P in|out|inout ]
[ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
[ -W filecount ] [ -y datalinktype ] [ -z command ]
[ -Z user ] [ expression ]

指定网络接口:
tcpdump -i bond0 #不指定默认监听第一个网络接口
指定ip:
tcpdump host 192.168.10.100
截获主机hostname发送的所有数据:
tcpdump -i bond0 src host hostname #src源主机,dst目标主机
监视指定主机和端口:
tcpdump tcp port 8080 host 192.168.10.100
tcpdump 与wireshark
Wireshark(以前是ethereal)是Windows下非常简单易用的抓包工具。但在Linux下很难找到一个好用的图形化抓包工具。
还好有Tcpdump。我们可以用Tcpdump + Wireshark 的完美组合实现:在 Linux 里抓包,然后在Windows 里分析包。

tcpdump tcp -i bond0 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./test.cap
(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型
(2)-i bond0 : 只抓经过接口eth1的包
(3)-t : 不显示时间戳
(4)-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包
(5)-c 100 : 只抓取100个数据包
(6)dst port ! 22 : 不抓取目标端口是22的数据包
(7)src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.0/24
(8)-w ./test.cap : 保存成cap文件,方便用ethereal(即wireshark)分析

原创文章,作者:赛福,如若转载,请注明出处:https://www.safecdn.cn/linux/2016/08/tcpdump.html