Zhang Jiuan’ Notes

TCPDump使用方法小结

在进行网络测试的时候,我们经常需要进行抓包的工作,当然有许多测试工具可以使用,比如sniffer, ethreal等.但最为方便和简单得就非TCPDump莫属. Linux的发行版里基本都包括了这个工具. TCPDump将网络接口设置成混杂模式以便捕获到达的每一个数据包.下面给出TCPDump的部分常用选项:
-i <interface> 指定监听的网络接口

-v 指定详细模式输出详细的报文信息

-vv 指定更详细模式输出更详细的报文信息

-x 指定以16进制数格式显示数据包

-X 规定以ASCII码格式显示输出

-n 规定在捕获过程中不需向DNS查询IP地址

-F <file> 从指定文件中读取表达式

-D 显示可用网络接口

-s <length> 设置捕获数据包的长度

TCPDump的表达式:

  默认情况下TCPDump将捕获所有到达网络的数据包.这并不是我们想要的,因此就必须通过表达式来限制不必要的流量,只输出我们需要监听的数据包.

1. 类型限定词

  类型限定词有: host, port和net. host用来指定主机或目的地址,port指定端口,net可以用来指定某一子网. 如:

tcpdump ‘port 80′ 监听80端口

tcpdump ‘net 192.168.1′ 监听子网192.168.1.0

tcpdump ‘net 192.168.1.0/24′

2. 逻辑运算符

  逻辑运算符有AND,OR和NOT. ()可将多个表达式组合起来.

  tcpdump ‘port 80 and (host 192.168.1.10 or host 192.168.1.11)’

  监听主机192.168.1.10 或 192.168.1.11的80端口.

3. 传输方向限定词

关键词src指定源地址,dst指定目的地址

tcpdump ‘port 80 and (src 192.168.1.10 or src 192.168.1.11)’

tcpdump ‘dst port 25′

4. 协议限定词

  用来捕获特定协议的数据包有: ether(Ethernet), TCP,UDP,ICMP,IP,ip6(IPv6),ARP,rarp(reverse ARP)等.

5. 原语

  原语主要有: 算术运算符(+,-,*,/,>,<,>=,<=,!=等), broadcast, gateway, greater, less.

  broadcast捕获广播数据包, greater和less相当于>=和<=.

If you enjoyed this post, make sure you subscribe to my RSS feed!

No Comments, Comment or Ping

Reply to “TCPDump使用方法小结”

You must be logged in to post a comment.

返回顶部