网络监听分析工具 tcpdump sniffit
网络监听分析的工具有很多种,这里只简单介绍两种比较常用的工具.
1) tcpdump
tcpdump:监听流经一个本机网络接口上的数据,功能非常强劲
使用方法:
tcpdump [options] [expression]
options部分命令行选项:
命令 |
说明 |
-c num |
接受到指定num个符合条件的包就退出 |
-n |
Ip信息用数字显示 |
-x |
以十六进制方式显示包内容 |
-X |
同时以十六进制、ascii方式显示包内容 |
-i dev |
指定要监听的网络接口 (例如 -i eth0) 注意:: 在同一台机器上进行测试时,最好加上参数: -iany 这样可以接收任何网卡的信息。 |
-w |
把监听的信息写入文件中 |
-r |
从用w选项创建的文件中读取保存的监听信息 |
-s(数据包大小) |
设置每个数据包的大小 -s2400 表示每个数据包的大小是2400 |
-n |
显示IP信息,而不是主机名 |
-A |
将数据包以ascii方式显示出来 |
-d |
把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。 |
-dd |
把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。 |
expression 监听网络报的条件表达式,只有符合此条件的数据包才会显示
条件表达式有一个或多个条件组成
条件类型 |
常用条件标志 |
协议条件 |
ip, ip6, arp, rarp, tcp ,udp. |
源/目的条件 |
src dst |
具体条件 |
host,net,port |
其中多个条件可以由关系运算符组合在一起
关系类型 |
关系运算符 |
反 |
! 或 not |
与 |
&& 或 and |
或 |
|| 或 or |
使用实例:
a) 显示所有主机192.168.1.3发送出和接收的数据包
tcpdump host 192.168.1.3
b) 显示主机 A 与主机(B 或 C)之间的交互IP数据包
tcpdump ‘ip and host A and (B or C)‘
c) 本机地址192.168.1.3 ,显示从主机192.168.5.1或网络192.168.1到本地53端口的udp数据包,但不显示本机发送到本地53端口的数据包,
同时显示十六进制和ASCII方式的数据包内容
tcpdump -X 'udp and dst host 192.168.1.3 and dst port 53 and (src host 192.168.5.1 or src net 192.168.1) and src not
localhost'
命令参数说明:
udp数据包 :udp
目的地址192.168.1.3 :dst host 192.168.1.3
目的端口 53 :dst port 53
源主机地址192.168.5.1 :src host 192.168.5.1
源网络地址192.168.1 :src net 192.168.1
非本机发送的包 : src not localhost