1、在捕捉结果中进行详细查找。他们可以在得到捕捉结果后随意修改。捕捉过滤器Protocol(协议):可能的值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp.如果没有特别指明是什么协议,则默认使用所有支持的协议。Direction(方向): src, dst, src and dst, src or dst如果没有特别指明来源或目的地,则默认使用 “src or dst” 作为关键字。例如,”host 10.2.2.2与”src or dst host 10.2.2.2是一样的。Host(s):可能的
2、值: net, port, host, portrange.如果没有指定此值,则默认使用”host”关键字。例如,”src 10.1.1.1与”src host 10.1.1.1相同。Logical Operations(逻辑运算):not, and, or.否(“not”)具有最高的优先级。或(“or”)和与(“and”)具有相同的优先级,运算时从左至右进行。例如,“not tcp port 3128 and tcp port 23与”(not tcp port 3128) and tcp port 23相同。“not tcp port 3128 and tcp port 23与”not (
3、tcp port 3128 and tcp port 23)”不同。例子:tcp dst port 3128/捕捉目的TCP端口为3128的封包。ip src host 10.1.1.1/捕捉来源IP地址为10.1.1.1的封包。host 10.1.2.3/捕捉目的或来源IP地址为10.1.2.3的封包。ether host e0-05-c5-44-b1-3c/捕捉目的或来源MAC地址为e0-05-c5-44-b1-3c的封包。如果你想抓本机与所有外网通讯的数据包时,可以将这里的mac地址换成路由的mac地址即可。src portrange 2000-2500/捕捉来源为UDP或TCP,并且端
4、口号在2000至2500范围内的封包。not imcp/显示除了icmp以外的所有封包。(icmp通常被ping工具使用)src host 10.7.2.12 and not dst net 10.200.0.0/16/显示来源IP地址为10.7.2.12,但目的地不是10.200.0.0/16的封包。(src host 10.4.1.12 or src net 10.6.0.0/16) and tcp dst portrange 200-10000 and dst net 10.0.0.0/8/捕捉来源IP为10.4.1.12或者来源网络为10.6.0.0/16,目的地TCP端口号在200至
5、10000之间,并且目的位于网络 10.0.0.0/8内的所有封包。src net 192.168.0.0/24src net 192.168.0.0 mask 255.255.255.0/捕捉源地址为192.168.0.0网络内的所有封包。显示过滤器snmp|dnsicmp/显示SNMP或DNS或ICMP封包。ip.addr = 10.1.1.1/显示来源或目的IP地址为10.1.1.1的封包。ip.src != 10.1.2.3 or ip.dst != 10.4.5.6/显示来源不为10.1.2.3或者目的不为10.4.5.6的封包。换句话说,显示的封包将会为:来源IP:除了10.1.2
6、.3以外任意;目的IP:任意以及任意;除了10.4.5.6以外任意= 10.1.2.3 and ip.dst !/显示来源不为10.1.2.3并且目的IP不为10.4.5.6的封包。同时须满足,目的IP:tcp.port = 25/显示来源或目的TCP端口号为25的封包。tcp.dstport = 25/显示目的TCP端口号为25的封包。tcp.flags/显示包含TCP标志的封包。tcp.flags.syn = 002/显示包含TCP SYN标志的封包。如果过滤器的语法是正确的,表达式的背景呈绿色。如果呈红色,说明表达式有误。2.2 TCPDUMPtcpdump 是一个运行在命令行下的嗅探工
7、具。它允许用户拦截和显示发送或收到过网络连接到该计算机的TCP/IP和其他数据包。tcpdump采用命令行方式,它的命令格式为:tcpdump -adeflnNOpqStvx -c 数量 -F 文件名 -i 网络接口 -r 文件名 -s snaplen -T 类型 -w 文件名 表达式 1. tcpdump的选项介绍-a 将网络地址和广播地址转变成名字;-d 将匹配信息包的代码以人们能够理解的汇编格式给出;-dd 将匹配信息包的代码以c语言程序段的格式给出;-ddd 将匹配信息包的代码以十进制的形式给出;-e 在输出行打印出数据链路层的头部信息;-f 将外部的Internet地址以数字的形式打
8、印出来;-l 使标准输出变为缓冲行形式;-n 不把网络地址转换成名字;-t 在输出的每一行不打印时间戳;-v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息;-vv 输出详细的报文信息;-c 在收到指定的包的数目后,tcpdump就会停止;-F 从指定的文件中读取表达式,忽略其它的表达式;-i 指定监听的网络接口;-r 从指定的文件中读取包(这些包一般通过-w选项产生);-w 直接将包写入文件中,并不分析和打印出来;-T 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程调用)和snmp(简单网络管理协议;)2. tcpdump的表达式介绍表达式是一个
9、正则表达式,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 ,这些关键字指明
10、了传输的方向。举例说明,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的包进行处理和分析。其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议
11、,则tcpdump将会监听所有协议的信息包。除了这三种类型的关键字之外,其他重要的关键字如下:gateway, broadcast,less,greater,还有三种逻辑运算,取非运算是 not !, 与运算是and,&;或运算 是or ,|;这些关键字可以组合起来构成强大的组合条件来满足人们的需要,下面举几个例子来说明。(1)想要截获所有210.27.48.1 的主机收到的和发出的所有的数据包:#tcpdump host 210.27.48.1 (2) 想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令:(在命令行中适用括号时,一定要#
12、tcpdump host 210.27.48.1 and (210.27.48.2 or 210.27.48.3 ) (3) 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:#tcpdump ip host 210.27.48.1 and ! 210.27.48.2(4)如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:#tcpdump tcp port 23 host 210.27.48.1 3. tcpdump 的输出结果介绍下面我们介绍几种典型的tcpdump命令的输出信息(1) 数据链路层头信息使用命令#tcpdump -e host iceice 是一台装有linux的主机,
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1