tcpdump 抓包选项:
- -c :指定抓包数
- -i :指定接口
- -i any :抓所有接口
- -D :显示接口
- -nn :转换协议号和端口号
- -F : 指定过滤表达式所在的文件
- -w : 保存流量
- -r : 回放流量
- -Q :指定抓包方向 in、out、默认inout (不一定支持所有平台)
tcpdump 输出选项
- -e :增加以太网帧头部信息输出
- -q :简洁输出
- -X :显示协议头和包内容
- XX :从以太网部分开始显示网络包内容
- -t :输出时不打印时间戳
- -l :使得输出变为行缓冲
- A :只显示ascii形式的数据包
- -v、 -vv、 -vvv
tcpdump 过滤
- host :指定主机或ip
- net :指定网段
- port :指定某个端口
- postrange :指定端口区间
tcpdump 抓包例子
-
抓到那些通过eth0网卡的,且来源是roclinux.cn服务器或者目标是roclinux.cn服务器的网络包
- tcpdump -i eth0 'host roclinux.cn'
-
抓通过eth0网卡的,且roclinux.cn和baidu.com之间通讯的网络包,或者,roclinux.cn和qiyi.com之间通讯的网络包
- tcpdump -i eth0 'host roclinux.cn and (baidu.com or qiyi.com)'
-
获取使用ftp端口和ftp数据端口的网络包
- tcpdump 'port ftp or ftp-data'
-
使用en5接口获取5个icmp网络包
- tcpdump -i en5 -nn -c 5 icmp
/etc/services这个文件里面,存储着所有知名服务和传输层端口的对应关系,tcpdump会从该文件读取相关信息。如果你直接把/etc/services里的ftp对应的端口值从21改为了8888,那么tcpdump就会去抓端口含有8888的网络包了。
网友评论