显示过滤器ARP协议全面实战手册协议详解、攻击与防御大学霸
显示过滤器ARP协议全面实战手册协议详解、攻击与防御大学霸
通常经过捕捉过滤器过滤后的数据还是很复杂。此时用户可以使用显示过滤器进行更加细致的查找。它的功能比捕捉过滤器更为强大,而且在用户想修改过滤器条件时,也不需要重新捕捉一次。显示过滤器的语法格式如下所示显示过滤器ARP协议全面实战手册协议详解、攻击与防御大学霸:
Protocol String1 String2 Comparison operator Value Logical Operations Other expression
以上各选项的含义如下所示:
q Protocol(协议):该选项用来指定协议。该选项可以使用位于OSI模型第2层至7层的协议。在Wireshark主界面的Filter文本框后面,单击Expression按钮,可以看到所有可用的协议,如图1.8所示。
图1.8 Wireshark支持的协议
或者在工具栏中依次单击Internals|Supported Protocols命令,将显示如图1.9所示的界面。
图1.9 支持的协议
q String1,String2(可选项):协议的子类。点击相关父类旁的“+”号,然后选择其子类,如图1.10所示。
图1.10 子类
q Comparison operators:指定比较运算符。可以使用6种比较运算符,如表1-1所示。
表1-1 比较运算符
英文写法 | C语言写法 | 含义 |
eq | == | 等于 |
ne | != | 不等于 |
gt | > | 大于 |
lt | < | 小于 |
ge | >= | 大于等于 |
le | <= | 小于等于 |
q Logical expressions:指定逻辑运算符。可以使用4种逻辑运算符,如表1-2所示。
表1-2 逻辑运算符
英文写法 | C语言写法 | 含义 |
and | && | 逻辑与 |
or | || | 逻辑或 |
xor | ^^ | 逻辑异或 |
not | ! | 逻辑非 |
现在就可以通过指定过滤条件,实现显示过滤器的作用。该过滤条件在Wireshark界面的Filter文本框中输入,如图1.11所示。
图1.11 指定过滤条件
从该界面可以看到,输入过滤条件后,表达式的背景呈浅绿色。如果过滤器的语法错误,背景色则呈粉红色,如图1.12所示。
图1.12 表达式错误
使用显示过滤器可以分为以下几类。下面分别举几个例子,如下所示:
1.IP过滤
IP过滤包括来源IP或者目标IP等于某个IP。
显示来源IP:ip.src addr == 192.168.5.9 or ip.src addr eq 192.168.5.9
显示目标IP:ip.dst addr == 192.168.5.9 or ip.dst addr eq 192.168.5.9
2.端口过滤
显示来源或目标端口。tcp.port eq 80
只显示TCP协议的目标端口80。tcp.dstport == 80
只显示TCP协议的来源端口80。tcp.srcport == 80
过滤端口范围。tcp.port >= 1 and tcp.port <= 80
3.协议过滤
udp、arp、icmp、http、smtp、ftp、dns、msnms、ip、ssl等
排除ssl包。!ssl或者not ssl
4.包长度过滤
udp.length == 26:这个长度表示指udp本身固定长度8加上udp下面那块数据包之和。
tcp.len >= 7:表示IP数据包(TCP下面那块数据),不包括TCP本身。
ip.len == 94:表示除了以太网头固定长度14,其它都是ip.len,即从IP本身到最后。
frame.len == 119:表示整个数据包长度,从eth开始到最后。
5.http模式过滤
http模式包括GET、POST、响应包。
指定GET包。如下所示:
http.request.method == “GET” && http contains “Host:”
http.request.method == “GET” && http contains “User-Agent:”
指定POST包。如下所示:
http.request.method == “POST” && http contains “Host:”
http.request.method == “POST” && http contains “User-Agent:”
指定响应包。如下所示:
http contains “HTTP/1.1 200 OK” && http contains “Content-Type:”
http contains “HTTP/1.0 200 OK” && http contains “Content-Type:”
6.连接符and/or
指定显示tcp和udp协议的数据包。如下所示:
tcp and udp
7.表达式
指定源ARP不等于192.168.1.1,并且目标不等于192.168.1.243。如下所示:
!(arp.src==192.168.1.1) and !(arp.dst.proto_ipv4==192.168.1.243)
下面将介绍显示过滤器的自定义方法。在Wireshark的工具栏中依次单击Analyze|Display Filters命令,将显示如图1.13所示的界面。
图1.13 Display Filter
大家看到该界面和添加捕捉过滤器的界面很类似。确实添加显示过滤器和添加捕捉过滤器的方法一样,唯一不同的是在定义显示过滤器时,可以选择表达式。设置完后,单击“确定”按钮。如果单击“应用”按钮,而没有单击“确定”按钮,添加的过滤器将不会生效。
1.2 ARP协议基础知识
在掌握必要的工具Wireshark后,我们就可以开始正式学习ARP的内容。了解ARP协议必备的基础知识,如什么是ARP、地址广播。本节将介绍ARP协议基础知识。
1.2.1 什么是ARP
ARP(Address Resolution Protocol,地址解析协议)是根据IP地址获取物理地址的一个TCP/IP协议。由于OSI模型把网络工作分为七层,IP地址在OSI模型的第三层,MAC地址在第二层,彼此不直接通信。在通过以太网发生IP数据包时,需要先封装第三层(32位IP地址)、第二层(48位MAC地址)的报头。但由于发送数据包时只知道目标IP地址,不知道其MAC地址,而又不能跨越第二、三层,所以需要使用地址解析协议。
使用地址解析协议后,计算机可根据网络层IP数据包包头中的IP地址信息对应目标硬件地址(MAC地址)信息,以保证通信的顺利进行。ARP的基本功能就是负责将一个已知的IP地址解析成MAC地址,以便主机间能正常进行通信。
图1.14 ARP请求
如图1.14所示,假设PC1发送数据给主机PC2时,需要知道PC2的MAC地址。可是PC1是如何知道PC2的MAC地址呢?它不可能知道每次所需要的MAC地址,即使知道也不可能全部记录下来。所以,当PC1访问PC2之前就要询问PC2的IP地址所对应的MAC地址是什么?这时就需要通过ARP请求广播实现。
当在超市找人时,如果不知道对方的位置就需要到服务台广播进行找人。当知道对方的位置时就可以直接到对方所在位置。在网络中也存在这种情况,如果不知道对方的地址就需要进行广播,就发生广播帧,而知道对方的地址就发生单播直接到对方处。所以广播通信是“一对所有”的通信方式,而单播通信是“一对一”的通信形式。而所有听到找人广播的范围就是广播域。广播域和广播的具体定义如下:
广播:将广播地址作为目的地址的数据帧显示过滤器ARP协议全面实战手册协议详解、攻击与防御大学霸。
广播域:网络中能接收到同一个广播所有节点的集合显示过滤器ARP协议全面实战手册协议详解、攻击与防御大学霸。
Comments are closed.