分页: 1 / 1

《NetBSD指南-18.5.4.tcpdump》

发表于 : 2010-03-05 13:57
leo
最后但重要的是 tcpdump(8), 一个网络嗅探器,它可以取回很多的信息。本讨论中,将提供一些tcpdump的输出示例以及更多选项的解释。

下面是一个简单的tcpdump输出,没有带任何参数:

代码: 全选

# tcpdump
tcpdump: listening on ex0
14:07:29.920651 mail.ssh > 208.44.95.231.3551: P 2951836801:2951836845(44) ack 2
476972923 win 17520 <nop,nop,timestamp 1219259 128519450> [tos 0x10]
14:07:29.950594 12.125.61.34 >  208.44.95.16: ESP(spi=2548773187,seq=0x3e8c) (DF)
14:07:29.983117 smtp.somecorp.com.smtp > 208.44.95.30.42828: . ack 420285166 win
16500 (DF)
14:07:29.984406 208.44.95.30.42828 > smtp.somecorp.com.smtp: . 1:1376(1375) ack 0
 win 7431 (DF)
...
以上显示的是某个mail服务器, 从显示的内容也可以看出来, 不管怎样, 这个工具输出信息很长, 我喜欢不带参数运行tcpdump并将结果发送到一个文件以便日后分析,像这样:

代码: 全选

# tcpdump > tcpdump.out
tcpdump: listening on ex0
那么, 我们到底要在这一对令人迷惑的文字中找什么呢? 简而言之, 看起来有不同寻常的东西, 例如, 混乱的包长度(这很常见)将显示为不当的长度或畸形包(基本上可认为是垃圾)。 但是如果我们正在寻找一些不寻常的东西, tcpdump可以帮助我们从这些信息里确认问题所在.

18.5.4.1. 特殊的tcpdump用途
这里有一些用户使用tcpdump的例子。

寻找重复的IP地址:

代码: 全选

tcpdump -e host ip-address
例如:

代码: 全选

tcpdump -e host 192.168.0.2
路由问题:

代码: 全选

tcpdump icmp
尽管有大量的第三方软件可以选用, 但是NetBSD系统仍附带了一套极好的跟踪网络层性能问题的工具。