内容:WinDump手册名称windump–获取网络流量命令格式windump.txt6宽容润滑了彼此的关系,消除了彼此的隔阂,扫清了彼此的顾忌,增进了彼此的了解。内容:WinDump手册名称windump–获取网络流量命令格式windump[-aBdDeflnNOpqRStvxX][-ccount][-Ffile][-iinterface][-mmodule][-rfile][-ssnaplen][-Ttype][-wfile][-Ealgo:secret][expression]描述Tcpdump输出网卡数据包中匹配布尔表达式的数据包头。SunOS系统下使用nit或bpf:要运行tcpdump,你必须有对dev/nit或/dev/bpf*的权利。Solaris系统下使用dlpi:你必须有对网络假设置的权利。HP-UX系统下使用dlpi:你应该以超级用户ROOT或安装SETUID到ROOT下。IRIX下使用SNOOP:你应该以超级用户ROOT或安装SETUID到ROOT下。LINUX下:你应该以超级用户ROOT或安装SETUID到ROOT下。在系统Ultrix和DigitalUNIX:命令参数-a将网络和广播地址转化为名称-c接收指定数据包后退出-d接收人可读的包匹配编译代码到标准输出,然后停止-dd以C程序分段方式捕获包匹配代码-ddd以十进制数据形式捕获包匹配代码-e在每个捕获行打印链路层-Ealgo:secret为解密IPSEESP包使用算法。算法可以是des-cbc,3des-cbc,blowfish-cbc,rc3-cbc,cast128-cbc,或none。默认值是desc-cbc。只有当TCPDUMP编译时使用激活加密选项时,才可以解密数据包。Secret是ESP密匙是ASCII码。当前还不能认为一定是二进制值。该选项是以RFC2406ESP为假设,而不是RFC1827ESP。只用于调试,不鼓励用真正的密码作为选项。当你在PS或其他场合,把IPSEC密码写在命令行上时,会被他人看到。-f不用符号而用数字方式输出外部英特网地址-F使用文件作为过滤表达式的输入。命令行的其他部分会被忽略。-i在接口上监听。如果没有指定,TCPDUMP将搜索系统接口列表中最小,被配置激活的接口(LOOPBACK接口除外)。可用最先匹配替换这种关系。在WINDOWS中接口可以是网卡的名称,或是网卡的号码(-D参数可显示该号码)。内核为2。2或其后的LINUX系统,参数“ANY”可以获取所有接口的数据。应注意的是在混乱模式下不能使用“ANY”参数。-l标准输出行缓存。如果你想在捕获数据时查看的话,这个参数很有用。例如:“tcpdump-l│teedat''or``tcpdump-ldat&tail-fdat''.”n不要将地址(如主机地址,端口号)转换为名称-N不要打印主机名称的域名限定。如:如果你使用该参数,TCPDUMP会输出“NIC”而不是“NIC。DDN。MIL”。-m从文件模块中载入SMIMIB模块定义。这个选项可以为TCPDUMP载入多个MIB模块-O不要运行包匹配代码优化器。只有在你怀疑优化器有问题时可以使用这个参数。-p不要让接口处于“混乱”模式。注意接口可能由于其他原因处于“混乱”模式;因此“-p”不能用作以太网络主机或广播的缩写。-q快速(安静?)输出。打印较少的协议信息,因此输出行更短。-r从文件中读取包(与参数据-W一起使用)。如果文件是“-”就使用标准输入。-s不使用默认的68个字节,更改从每个包中获取数据的字节数量(SunOS系统实际最小为96)。对于IP,ICMP,TCP和UDP包68个字节已足够,但是对命名服务和NFS包,他们的协议会被截断(见下面)。包被截断是因为在使用参数``[│proto]''输出时指定受限制的快照,proto是被截断协议层的名称。注意如果使用大的快照会增加处理包的时间,并且明显地减少包的缓存数量。也许会导致包的丢失。你应该将snaplen设置成你感兴趣协议的最小数。当snaplen为0时接收整个包。-T根据表达式将选中的数据包表达成指定的类型。当前已有的类型有CNFP(Cisco的网络流量协议),rpc(远端程序调用),rtp(实时程序协议),rtcp(实时程序控制协议),snmp(简单网络管理协议),vat(可视单频工具),和wb(分布式白板)。-R假设ESP/AH包遵守旧的说明(RFC1825到RFC1829)。如果该参数被指定,TCPDUMP不打输出域。因为在ESP/AH说明中没有协议版本,TCPDUMP就无法推断出其版本号。-S输出绝对TCP序列号,而不是相对号。-t每个捕获行不要显示时间戳。-tt每个捕获行显示非格式化的时间时间戳。-v详细输出。例如,显示生存时间TTL,标识符,总长度和IP数据包的选项。也进行额外的包完整性较验,如验证IP和ICMP的头标较验值。-vv更为详细的输出。例如,显示NFS中继包中的其他域。-vvv很详细的输出。如,完全输出TELNETSB…SE选项。带-X参数的TELNET,打印并以十六进制输出。-w不对原始数据包解析打印而是转到文件中去。以后可用-r选项打印。当文件名为“-”表示标准输出。-x以十六进制(去除链路层头标)输出每个数据包。输出整个包的小部分或snaplen个字节。-X输出十六进制同时,输出ASCII码。如果-x也被设置,数据包会以十六制/ASCII码显示。这对于分析新协议非常方便。如果-x也没有设置,一些数据包的部分会以十六制/ASCII码显示。Win32特殊扩展-B以千字节为单位设置驱动缓存。默认缓存为1M(即1000)。如果在获取数据包时有数据丢失,建议使用该参数增大核心缓存大小,因为驱动缓存大小对数据捕获性能有很大影响。-D显示系统上可用的网卡列表。该参数将返回每块网卡的号码,名称和描述。用户可以输入“WinDump–i网卡名称”或“WinDump–i网卡号码”。如果机器有多块网卡,不带参数的WINDUMP命令会从系统的第一块可用网卡开始。表达式选择哪些包被捕获。如果没有指定表达式,会捕获所有在网络中的数据包。否则只获捕表达式为真的数据包。表达式由一个或多个原语组成。原语通常由一个ID(名称或号码)前面加一个或多个限定词组成。有三种不同的限定词。类型限定词指出id,名称或号码属于哪种类型。可能的类型包括:host,net和port。如’hostfoo’,`net128.3',`port20'.如果没有指定类型,假设为host。方向限定词指出特定的传输方向,是从id传来还是传到id。可能方向是src,dst,srcordst和srcanddst。例如`srcfoo',`dstnet128.3',`srcordstportftp-data'。如果没有方向限定词将指定srcordst。对于‘空’链路层(像SLIP这样的点到点协议),可以用inbound和outbound限定词指明需要的方向。协议限定词限定匹配某类特定的协议。可能的协议有:ether,fddi,tr,ip,ip6,arp,rarp,decnet,tcp和udp。如`ethersrcfoo',`arpnet128.3',`tcpport21'。如没指定协议,则假设匹配所有协议。如`srcfoo'指`(iporarporrarp)srcfoo'(但后面的表达式不合法法)(exceptthelatterisnotlegalsyntax),`netbar'指`(iporarporrarp)netbar'和`port53'指`(tcporudp)port53'。`fddi'实际上是’ether’的别名;解析器会认为两者都是指“指定接口中使用的数据链路层”FDDI头标包括类似以太网的源和目的地址,经常包含类似以太网的包类型,所以你可像对以太网字段一样过滤FDDI域。FDDI头标也包括其他域,但你不能在表达式中直接使用他们。同样’tr’也是’ether’的别名;前一段FDDI头标的情况也适用于令牌环网头标。除了以上所讲的,还有一些特殊的原语关键字不使用这种方式:gateway,broadcast,less,greater和算术表达式,都描述如下:通过使用and,or和not结合原语,构成更复杂的过滤表达式。如`hostfooandnotportftpandnotportftp-data'。为了减少输入,可以忽略相同的限定词列表。如`tcpdstportftporftp-dataordomain'实际等同于`tcpdstportftportcpdstportftp-dataortcpdstportdomain'.(1).tcpdump的选项介绍将网络地址和广播地址转变成名字;-d将匹配信息包的代码以人们能够理解的汇编格式给出;-dd将匹配信息包的代码以c语言程序段的格式给出;-ddd将匹配信息包的代码以十进制的形式给出;-e在输出行打印出数据链路层的头部信息;-f将外部的Internet地址以数字的形式打印出来;-l使标准输出变为缓冲行形式;-n不把网络地址转换成名字;-t在输出的每一行不打印时间戳;-v输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息;-vv输出详细的报文信息;-c在收到指定的包的数目后,tcpdump就会停止;-F从指定的文件中读取表达式,忽略其它的表达式;-i指定监听的网络接口;-r从指定的文件中读取包(这些包一般通过-w选项产生);-w直接将包写入文件中,并不分析和打印出来;-T将监听到的包直接解释为指定的类型的报文,常见的类型有rpc(远程过程调用)和snmp(简单网络管理协议;)(2).tcpdump的表达式介绍表达式是一个正则表达式,tcpdump利用它作为过滤报文的条件,如果一个报文满足表达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会被截获。在表达式中一般如下几种类型的关键字。第一种是关于类型的关键字,主要包括host,net,port,例如host210.27.48.2,指明210.27.48.2是一台主机,net202.0.0.0指明202.0.0.0是一个网络地址,port23指明端口号是23。如果没有指定类型,缺省的类型是host.第二种是确定传输方向的关键字,主要包括src,dst,dstorsrc,dstandsrc,这些关键字指明了传输的方向。举例说明,src210.27.48.2,指明ip包中源地址是210.27.48.2,dstnet202.0.0.0指明目的网络地址是202.0.0.0。如果没有指明方向关键字,则缺省是srcordst关键字。第三种是协议的关键字,主要包括fddi,ip,arp,rarp,tcp,udp等类型。Fddi指明是在FDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它是ether的别名,fddi和ether具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。除了这三种类型的关键字之外,其他重要的关键字如下:gateway,broadcast,less,greater,还有三种逻辑运算,取非运算是'not''!',与运算是'and','&&';或运算是'or','││';这些关键字可以组合起来构成强大的组合条件来满足人们的需要,下面举几个例子来说明。