Wireshark网络分析工具(一)

关于Wireshark,熟悉网络或网络性能方面的同学应该知道,使用Wireshark工具通过抓取数据包,对系统网络问题进行分析,该工具简单、易用、易学!

百度百科上面是这样描述的:Wireshark(前称Ethereal)是一个网络封包分析软件,网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。

Wireshark抓包原理:把Wireshark主机上的网卡接入有线或无线网络开始抓包时,介于有线网卡和抓包引擎之间的软件驱动程序便会参与其中。在Windows和UNIX平台上,分别对应WinPacp和Libcap驱动程序,对于无线网卡,抓包时启动AirPacp驱动程序。

学习Wireshark网络分析,先了解OSI网络协议模型共分为七层:

应用层    指网络操作系统和具体的应用程序,对应WWW服务器、FTP服务器等应用软件

表示层    数据语法的转换、数据的传送等

会话层   建立起两端之间的会话关系,并负责数据的传送

传输层   负责错误的检查与修复,以确保传送的质量,是TCP工作的地方。(报文)

网络层(互联网层) 提供了编址方案,IP协议工作的地方(数据包)

数据链路层  将由物理层传来的未经处理的位数据包装成数据帧

物理层   对应网线、网卡、接口等物理设备(位)

 

一、wireshark工具界面介绍

抓取网络包后,wireshark面板每一行对应一个网络报文,每一个网络报文包含的信息:

报文接收时间(相对开始抓取的时间点)、源地址IP、目标地址IP、协议以及报文信息。

Frame:物理层的数据帧概况

Ethernet II :数据链路层以太网头部帧

Internet Protocol Version 4:互联网层IP包头的信息

Transmission Control Protocol:传输层的数据段头部信息,此处是TCP协议

Hypertext Transfer Protocol:应用层的信息,此处是HTTP协议

 

在Wireshark中关于数据包的叫法有三个术语,分别是帧、包、段

 

所以对于包结构的分析关键在于三个知识点的学习:http header, tcp header, ip header

 

二、Wireshark架构

wireshark可以被划分为四个主要模块:Capture Core,WireTap, Protocol Interpreter and Dissector和GUIintrerface。其中Capture Core使用pcap(windows下为winpcap,linux下为libpcap)抓取网络数据包,获取数据包后,WireTap把它保存为二进制文件,interpreter and dissector就是把二进制文件展现成用户容易理解的文本形式,其中dissector又分为build-in和plug-in两种,build-in很好理解,plug-in在1.3节会详细介绍一下;GUIinterface,顾名思义就是用户界面了。

架构图:

 

 

三、过滤抓包

Wireshark抓包过滤器运作机制是基于tcpdump程序的。

Wireshark的Filter分为两种,一种为Capture Filter,另一种是Display Filter。

启动wireshark后,在抓包前,可以使用Capture Filter进行过滤抓包

过滤条件:

#针对服务器IP地址进行过滤抓取

host 58.67.220.228

#针对抓取请求端口进行过滤抓取

port 9080

#只抓取源或目的端口范围的2000到2500之间的TCP数据包

tcp portrange 2000-2500

 

另一种是Display Filter,这是在抓取包之后,在wireshark界面上操作,进行过滤信息

 

 

posted @ 2017-05-15 16:43  虞秀权  阅读(11678)  评论(0编辑  收藏  举报