首页 > 编程知识 正文

网络抓包工具wireshark基本使用方法,linux网络抓包工具wireshark

时间:2023-05-04 12:01:00 阅读:282900 作者:4740

Wireshark下载地址:http://www.wireshark.org/

Wireshark是一个功能非常强大的网络封包分析软件,可以截取各种网络封包,显示网络封包的详细信息。(可完美运行于Windows与Mac OS)

出于安全问题,Wireshark只能查看封包,不能修改封包和发送封包。

Wireshark与Fiddler相对比

Fiddler是在Windows上运行的的专门用来捕获HTTP与HTTPS的

Wireshark能获取HTTP,HTTPS,但是不能解密HTTPS,所以Wireshark是看不懂HTTPS内容的

Fiddler可以修改封包,发送封包,Wireshark只能查看

总结:如果是HTTP,HTTPS就用Fiddler,如果是其他协议,比如TCP,UDP,QICQJ就要用Wireshark

Wireshark开始抓包工作:

选择网卡,自己用的什么网络就选择什么,我用的WiFi,所以我选择WLAN

Wireshark主要分为几个界面功能:

1.Display Fitter(显示过滤器),用于过滤

2.Packet List Pane(封包列表),显示捕获到的封包,其中源地址,目标地址,端口号

3.Packet Details Pane(封包详细信息),显示封包中的字段

4.Dissector Pane(16进制数据)

5.Miscellanous(地址栏,杂项)主界面上的

Wireshark显示过滤

过滤的使用很重要,初学者刚开始接触Wireshark时,会看到很多冗余的信息,很难在其中找到自己想要的数据,所以过滤的使用便很重要了

过滤器分为两种:

1.显示过滤器:主界面上的那个,用来在捕获的记录中找到所需要的记录

2.捕获过滤器:用来过滤捕获的封包,避免捕获过多的内容,Capture>Capture Filters中设置

保存过滤:

在Filter栏上,填好Filter表达式后>点击右上角“+”号,取个名字,比如“Filter 1"

此时Filter栏就多了"Filter 1"的按钮

过滤表达式的规则:

Wireshark针对IP地址的过滤:

1.对源地址为192.168.3.16的包的过滤,即抓取源地址满足要求的包。

           表达式为:ip.src == 192.168.3.16

2.对目的地址为192.168.3.16的包的过滤,即抓取目的地址满足要求的包。

           表达式为:ip.dst == 192.168.3.16

3.对源或者目的地址为192.168.3.16的包的过滤,即抓取满足源或者目的地址的ip地址是192.168.3.16的包。

           表达式为:ip.addr == 192.168.3.16,或者 ip.src == 192.168.3.16 or ip.dst == 192.168.3.16

4.要排除以上的数据包,我们只需要将其用括号囊括,然后使用 "!" 即可。

           表达式为:!(表达式)

               例如!(ip.addr == 192.168.3.16)

Wireshark针对协议的过滤

1.仅仅需要捕获某种协议的数据包,表达式很简单仅仅需要把协议的名字输入即可。

                表达式为:http

2.需要捕获多种协议的数据包,也只需对协议进行逻辑组合即可。

           表达式为:http or telnet (多种协议加上逻辑符号的组合即可)

3.排除某种协议的数据包

           表达式为:not arp      !tcp

Wireshark针对端口的过滤(视协议而定)

1.捕获某一端口的数据包协议

           表达式为:tcp.port == 80

3.捕获多端口的数据包,可以使用and来连接,下面是捕获高端口的表达式

           表达式为:udp.port >= 2048

Wireshark针对长度和内容的过滤

1.对长度的过虑(这里的长度指定的是数据段的长度)

           表达式为:udp.length < 30   http.content_length <=20

2.对数据包内容的过滤

      表达式为:http.request.uri matches "vipscu"  (匹配http请求中含有vipscu字段的请求信息)

封包列表(Packet List  Pane)

封包列表的面板中显示,编号,时间戮,源地址。目标地址,协议,长度,封包信息。

不同的协议,使用不同的颜色

亦可自行修改颜色规则:View>Coloring Rules

封包详细信息(Packet Details Pane)

这个信息界面为重中之重,用来查看协议的每一字段

分别为:

1.Frame:物理层和数据帧概况

2.Ethernet II:数据链路层以太网帧头部信息

3.Internet Protocol Version 4:互联网层IP包头部信息

4.Transmission Control Protocol:传输层的数据头部信息,为TCP协议

5:Hypertext Transfer Protocol:应用层的信息,为HTTP协议

Wireshark与对应的OSI七层模型(HTTP)

TCP包的具体内容:

初步分析TCP三次握手过程

下面我们实际操作下

打开目标网址:www.html99.cn

然后在Wireshark中输入http过滤,然后选中GET /favicon.ico HTTP/1.1这条记录

展开这条数据

可以看到

第一次握手数据包,客户端发送了一个TCP,标志位位SYN,序列号为0,代表客户端请求建立连接

第二次握手数据包,服务器发回确认包,标志位为SYN,ACK,将确认序号设置为客户的I S N加1,即0+1=1

第三次握手数据包,客户端再次发送确认包(ACK)SYN标志位为0,ACK标志位为1,并把服务器发送来的ACK字段+1,放在确定字段中发送给对方

就这样TCP通过三次握手,建立了链接

 

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。