tcpdump是一个抓包工具,学名 嗅探器(sniffer)通过网卡的混杂模式来实现获取网络中信息包。
tcpdump可以直接在http://www.tcpdump.org/下载源码进行编译使用。
解压源码后,./configure 然后make下就行了。
本人不喜欢将软件装到系统下,so 直接在编译目录下 ./tcpdump就行了。
tcpdump选项
-i选项
指定监听网卡
-nn选项
显示端口号,不显示协议名
-X选项
协议头和包内容都原原本本的显示出来(16进制和ASICC)
-c选项
抓包个数
'port 53'
指定端口号
-e选项
输出以太网帧头部
-l选项
缓存式输出
-t选项
不输出时间戳
-v选项
原有基础上输出 tos值、ttl值、ID值、总长度、校验值
-F选项
指定过滤文件过滤
-w选项
将流量保存到文件中
-r选项
从文件中读取流量文件
命令实例
抓指定端口包
sh-3.2# tcpdump -i en0 -nn -X -c 1 'port 8080'
抓udp、目的(源)地址的包
sh-3.2# ./tcpdump -i en0 -X 'dst host 219.243.0.161'
其中dst(目的)还支持src、host还支持 net(指定网段,)、portrange(80-1000)
抓和主机通讯的包
sh-3.2# ./tcpdump -i en0 host www.bdxing.cn
抓取一个host和另一个host通讯的包(暂时不知道咋用)
sh-3.2# ./tcpdump -i en0 host 'www.bdxing.cn and (www.baidu.com or www.tute.edu.cn)'
获得三次握手包
sh-3.2# ./tcpdump 'tcp[tcpflags] & tcp-syn !=0 and host www.bdxing.cn'
抓取包长超过567字节的包
tcpdump 'ip[2:2] > 576'
打印广播包或多播包,同时数据链路层不是通过以太网媒介进行的
sh-3.2# tcpdump 'ether[0] & 1 = 0 and ip[16] >= 224'
抓取数据,wireshark显示
./tcpdump tcp -i en0 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap
版权声明:本文为博主原创文章,未经博主允许不得转载。