winpcap基本原理及常见应用_【新书连载07】软件测试专项技术—常见Web应用程序...

4222369dc78f1a69ba9053106c196663.gif

f92debefd69cd673072b9951d4ba93d5.png 1.3 Wireshark的使用 6f8791bec37da5fa4e072dc1b268305c.png

常见Web应用程序--Wireshark的使用

Wireshark(以前称为Ethereal)是一个网络数据包分析软件。它的功能是截取网络数据包,并尽可能显示详细的网络数据包数据。Wireshark使用WinPcap(Windows Packet capture)作为接口,直接与网卡进行数据报文交换。

1.Wireshark的安装

Wireshark的安装过程可采用默认设置,这基本上不会出现错误。在使用前,需要了解一下WinPcap(打开方式见图1-40)的作用,了解安装Wireshark 需要同时安装WinPcap的原因。

b6b540faa6a964312746abaee0f8215f.png

图1-40  WinPcap的打开方式

WinPcap是Windows平台下一个免费、公共的网络访问系统。它为Win32应用程序提供访问网络底层的能力。也就是说,没有WinPcap和Wireshark就没有办法抓取底层数据包。

WinPcap特别适用于下面这几个领域:

  • 网络及协议分析;

  • 网络监控;

  • 通信日志记录;

  • Traffic Generators;

  • 用户级别的桥路和路由;

  • 网络入侵检测系统(Network Intrusion Detection System,NIDS);

  • 网络扫描;

  • 安全工具。

2.Wireshark的基本操作

启动Wireshark后,选择左上角的Interface List选项,如图1-41所示,其中列出了所有的可用接口。

c2ab81deee86b9da7264a8235158970d.png 图1-41  选择Interface List选项

在弹出的"Wireshark:Capture Interfaces"对话框中,单击Start按钮,如图1-42所示。如果计算机有多张网卡,就选择启动Packets数据在变化的网卡。也可以根据需要选择要跟踪的网卡。

a022903a6c3d53a07d6b320e038ce4f0.png 图1-42  单击Start按钮

单击Start按钮后,Wireshark就开始抓包,直到单击Stop按钮才停止抓包,如图1-43所示。

9ac6a5811fd8f1f6f8fe211316f423ae.png 图1-43  停止抓包

Wireshark的界面如图1-44所示。

3.Wireshark的过滤规则

由于Wireshark抓取的包有大量冗余信息,以致很难找到用户需要的部分,因此必须通过过滤来得到用户想要的包。

9f5d8c2299863ff28e93c38549aa1ff2.png 图1-44  Wireshark的界面

1)过滤源IP地址和目的IP地址

(1)查找源地址的过滤格式为ip.src==172.16.201.140,如图1-45所示。

adbd98cec42481ff404f6f5f6b0ef88c.png 图1-45  查找源地址的过滤格式

注意,在输入过滤条件时,无须以";"结尾,直接单击后面的Apply按钮即可过滤。

(2)查找目的地址的过滤格式为ip.dst==192.168.101.8。

(3) 若查找的源地址和目的地址都为某一个IP地址,则使用ip.addr==172.16.201.140。这个方法在查看3次握手时非常有用,通过它可以看到3次握手的完整过程,如图1-46所示。

13185bc985dbf7b4e996c61852d11eab.png

图1-46  通过ip.addr==172.16.201.140显示3次握手的完整过程

2)过滤端口

(1)若要过滤的源端口为80端口,则tcp.srcport==80,如图1-47所示。

(2)若要过滤的目的端口为80端口,则tcp.dstport==80。

(3)若要过滤的源和目的端口都为80端口,则tcp.port==80。

fdcd7cc33b8f58c61d9646a622087f5c.png 图1-47  过滤源端口号的示例

3)过滤协议

可直接输入相关协议(如http),如图1-48所示。

583e37bdc54af8031b884360efbc1cca.png 图1-48  过滤协议

注意:在进行HTTP过滤时,因为它属于粗粒度的过滤,所以在过滤后的协议中看到的SSDP、OCSP等其实都属于应用层协议。

4)过滤HTTP模式

(1)过滤GET包的格式是http.request.method=="GET"。

(2)过滤POST包的格式是http.request.method=="POST"。

以上这两种过滤属于细粒度过滤。

5)过滤逻辑运算

若进行逻辑运算过滤,则要使用not、and和or等对多个条件进行连接。使用and进行逻辑运算过滤的示例如图1-49所示。

注意:not具有最高的优先级,or和and具有相同的优先级,运算从左至右进行。

c72a4ba585d2192dcda8cb7cffa77720.png 图1-49  使用and进行逻辑运算过滤的示例 4.Wireshark数据与协议层的对应关系

Wireshark数据与协议层的对应关系如图1-50所示。

68aa74879597f9386291a2349c4c9c60.png 图1-50  Wireshark数据与协议层的对应关系

以下是Wireshark的分层数据内容和TCP/IP层的对应关系。

  • Frame:表示物理层的数据帧概况。

  • Ethernet II:表示数据链路层中以太网帧头部信息。

  • Internet Protocol Version 4:表示网络层IP包头部信息。

  • Transmission Control Protocol:表示传输层的数据段头部信息。

  • Hypertext Transfer Protocol:表示应用层的信息。

TCP头的内容和Wireshark的具体数据之间的对应关系,如图1-51所示。

7e73f42613a920c0369e7a8038440f1f.png 图1-51  TCP头的内容和Wireshark的具体数据之间的对应关系 ……

扫码/点击阅读原文立即查看本章完整内容

3854d4353b96e585b966663b605b8dbd.png

7d78d0cfe0aa747eb8187bbc5eaed8aa.gif

446ffe3cfacfc01fd9ab2b9a662138de.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值