注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

c.pass 的博客

众里寻他千百度,蓦然回首,那人却在,灯火阑珊处。

 
 
 

日志

 
 

Tcpdump 过滤数据包实例  

2010-09-13 21:58:01|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

        笔者维护的一台邮件服务器,发现老是有人上来连接25端口,用了几种软件,如iptraf及wireshark,etherape发现效果均不理想,还是 Tcpdump更直观方便,如命令tcpdump tcp port 25 and host 211.147.1.11 > awstat.txt,即可生成一份详细的连接报告。

        感觉tcpdump还是很实用的,下面举出例子说明下它的使用方法。tcpdump语法较繁琐,建议直接以实例掌握其用法;如果是要给同事演示抓包数据话,还是wireshark直观的好。

◆想要截获所有210.27.48.1的主机收到的和发出的所有的数据包:
   tcpdump host 210.27.48.1
◆想要截获主机210.27.48.1和主机210.27.48.2或210.27.48.3的通信,使用命令(在命令行中使用括号时,一定要转义
    tcpdump host 210.27.48.1 and \(210.27.48.2 or 210.27.48.3 \)
◆如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:
    tcpdump ip host 210.27.48.1 and !210.27.48.2
◆如果想要获取主机210.27.48.1接收或发出的smtp包,使用如下命令:
    tcpdump tcp port 25 and host 210.27.48.1
◆如果怀疑系统正受到拒绝服务(Dos)攻击,网络管理员可以通过截获发往本机的所有ICMP包,来确实目前是否有大量的ping指令流向服务器,此时可 用如下指令:
    tcpmdump icmp -n -i eth0  


 

tcpdump 的输出结果介绍
---------------------------------------------
下面我们介绍几种典型的tcpdump命令的输出信息
       (1)数据链路层头信息
使用命令#tcpdump --e host ice
ice是一台装有linux的主机,她的MAC地址是0:90:27:58:AF:1A
H219是一台装有SOLARIC的SUN工作站,它的MAC地址是8:0:20:79:5B:46;

上一条命令的输出结果如下所示:
21:50:12.847509 eth0 < 8:0:20:79:5b:46 0:90:27:58:af:1a ip 60: h219.33357 > ice. telnet 0:0(0) ack 22535 win 8760 (DF)
分析:21:50:12是显示的时间, 847509是ID号,

  eth0 < 表示从网络接口eth0接受该数据包,

  eth0 > 表示从网络接口设备发送数据包,

  8:0:20:79:5b:46是主机H219的MAC地址,它表明是从源地址H219发来的数据包.

  0:90:27:58:af:1a 是主机ICE的MAC地址,表示该数据包的目的地址是ICE .

  ip是表明该数据包是IP数据包,

  60是数据包的长度,

   h219.33357 > ice. telnet表明该数据包是从主机H219的33357端口发往主机ICE的TELNET(23)端口.

  ack 22535表明对序列号是222535的包进行响应.

   win 8760表明发送窗口的大小是8760.

 

(2)ARP包的TCPDUMP输出信息
使用命令#tcpdump arp
得到的输出结果是:
22:32:42.802509 eth0 > arp who-has route tell ice (0:90:27:58:af:1a)
22:32:42.802902 eth0 < arp reply route is-at 0:90:27:12:10:66 (0:90:27:58:af:1a)
分析: 22:32:42是时间戳,

  802509是ID号,

  eth0 >表明从主机发出该数据包,

  arp表明是ARP请求包,

  who-has route tell ice表明是主机ICE请求主机ROUTE的MAC地址。

  0:90:27:58:af:1a是主机ICE的MAC地址。

 

(3)TCP包的输出信息
用TCPDUMP捕获的TCP包的一般输出信息是:
src > dst: flags data-seqno ack window urgent options
src > dst:表明从源地址到目的地址,

  flags是TCP包中的标志信息,

  S 是SYN标志, F (FIN), P (PUSH) , R (RST) "." (没有标记);

  data-seqno是数据包中的数据的顺序号,

  ack是下次期望的顺序号,

  window是接收缓存的窗口大小,

  urgent表明数据包中是否有紧急指针.

  Options是选项.

 

(4)UDP包的输出信息
用TCPDUMP捕获的UDP包的一般输出信息是:
route.port1 > ice.port2: udp lenth
UDP十分简单,上面的输出行表明从主机ROUTE的port1端口发出的一个UDP数据包到主机ICE的port2端口,类型是UDP, 包的长度是lenth

如果想玩玩tcpdump,可直接用如下命令监控本机的21端口;

下面是优化后的 命令,蛮好用的tcpdump -vv -x -X -s 1500 'port 21'

                                                                                                                  --------------------资料来源于net527

  评论这张
 
阅读(354)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017