命令总结_tcpdump

tcpdump 命令解析

命令行参数

    tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ]
     [ -i 网络接口 ] [ -r 文件名] [ -s snaplen ]

     [ -T 类型 ] [ -w 文件名 ] [表达式 ]

    -n: 不把网络地址转换成名字
    -a: 将网络地址和广播地址转变成名字;
 -e: 在输出行打印出数据链路层的头部信息;
 -t: 在输出的每一行不打印时间戳;
 -v: 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息;
 -vv:输出详细的报文信息;
 -c: 在收到指定的包的数目后,tcpdump就会停止;
 -F: 从指定的文件中读取表达式,忽略其它的表达式;
 -i: 指定监听的网络接口;
 -r: 从指定的文件中读取包(这些包一般通过-w选项产生);
 -w: 直接将包写入文件中,并不分析和打印出来;
    -s: 指定数据报的大小(默认68个byte)

     如:tcpdump tcp -i any -p -s 0 and src net 172.16.130.151 -w /home/maodanping/target.cap
    表示:监听TCP,且网络端口任意,不指定数据包大小, 源节点IP为172.16.130.151的数据,且写到文件 /home/maodanping/target.cap中。

     tcpdump tcp dst port 8000 and dst net 172.16.130.240
     tcpdump tcp port 8000 and host 172.16.130.240


        第一种是关于类型的关键字,主要包括host,net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机, net 202.0.0.0 指明 202.0.0.0是一个网络地址,port 23 指明端口号是23.如果没有指定类型,缺省的类型是host.

   第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src ,这些关键字指明了传输的方向。举例 说明,src 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.0 指明目的网络地址是 202.0.0.0 .如果没有指明方向关键字,则缺省是src or dst关键字。

     第三种是协议的关键字,主要包括fddi, ip,arp,rarp,tcp,udp等类型。Fddi指明是在FDDI(分布式光纤数据接口网络)上的特定 的网络协议,实际上它是"ether"的 别名,fddi和ether具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和 分析。其他的几个关键字就是指明了监听 的包的协议内容。如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。

  除了这三种类型的关键字之外,其他重要的关键字 如下:gateway, broadcast,less,greater,还有三种逻辑运算,取非运算是 'not ' '! ', 与运算是 'and','&&';或运算是'or' ,'││';这些关键字可以组合起来构成强大的组合条件来满足人们的需要。

示例

1. 截获所有135.252.142.150 的主机收到的和发出的所有的数据包
tcpdump host 135.252.142.150 -i eth0

2. 获取主机135.252.33.186除了和主机135.252.142.150之外所有
主机通信的ip包,使用命令
tcpdump ip host 210.27.48.1 and ! 210.27.48.2

3. 获取主机135.252.33.186接收或发出的telnet包
tcpdump tcp port 23 host 135.252.142.150

4. 获取主机135.252.142.121端口5060上的所有数据报
tcpdump port 5060 and host 135.252.142.121

5. 获取主机135.252.142.150所有udp数据报
tcpdump udp and host 135.252.142.150
or:
tcpdump ip proto \\udp and host 135.252.142.150

6. 获取主机135.252.142.150、源端口为5060, 目的端口为45413的数据报
tcpdump src port 5060 and dst port 45413 and host 135.252.142.150

7. 打印所有包含数据的数据报, 就是说除了SYN, ACk和Fin的数据报
tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'

8. 打印所有经过网关135.252.33.1长度大于576的数据报
tcpdump 'gateway snup and ip[2:2] > 576'

   tcpdump对截获的数据并没有进行彻底解码,数据包内的大部分内容是使用十六进制的形式直接打印输出的。显然这不利于分析网络故障,通常的解决办法 是先使用带-w参数的tcpdump 截获数据并保存到文件中,然后再使用其他程序进行解码分析。当然也应该定义过滤规则,以避免捕获的数据包填满整个硬 盘。


参考阅读:

抓包工具:http://dngood.blog.51cto.com/446195/1084796/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值