2 0 2 Linux_抓包命令 Tcpdump 的使用 tcpdump 采用命令行方式,它的命令格式为: tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ] [ -i 网络接口 ] [ -r 文件名] [ -s snaplen ] [ -T 类型 ] [ -w 文件名 ] [表达式 ] 1. tcpdump 的选项介绍 -a 将网络地址和广播地址转变成名字; -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, 例如 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 。如果没有指明方向关键字,则 2 0 3 缺省是src or dst 关键字。 第三种是协议的关键字,主要包括 fddi,ip ,arp,rarp,tcp,udp 等类型。Fddi 指明是在 FDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它...