自学内容网 自学内容网

【Linux/Windows】Wireshark抓包工具下载、安装、使用、数据分析、常用知识点

在这里插入图片描述


更多相关内容可查看

在一个阳光明媚的周五清晨,一起快乐的玩耍一下Wireshark

Linux版下载

1.使用yum安装wireshark

yum -y install wireshark

在这里插入图片描述

2.使用yum安装wireshark-gnome

yum -y install wireshark-gnome

在这里插入图片描述

3.启动会自动弹出Wireshark

sudo wireshark

4.指定网络接口进行数据包捕获
在这里插入图片描述

5.我这里选择了我的服务器-start

在这里插入图片描述

6.查看数据

在这里插入图片描述


Windows版下载

附官网地址:https://www.wireshark.org/download.html

1.按照系统版本选择下载,下载完成后,按照软件提示一路Next安装即可

在这里插入图片描述


Wireshark使用

Linux与Windows界面稍有不同,因Linux在上文已经描述过了,所以这里以windows的为例,来进行抓包尝试

1.打开Wireshark网络分析器,我这里选择了WLAN第一个进行抓包,就可以进行玩耍了

在这里插入图片描述
2.进行数据过滤--会发现有很多大量的信息数据,想找一个自己想要的数据去分析比较费劲
这里是ping的huawei的地址

ping www.huawei.com

过滤条件为

ip.addr == 122.5.53.109 and icmp

在这里插入图片描述

3.针对华为输出的数据进行数据分区

在这里插入图片描述

4.数据列表区分析

在这里插入图片描述
5.数据详细区分析

在这里插入图片描述

Wireshark捕获的网络数据包的详细信息,分为以下四部分:

  1. Frame Information(帧信息):

    • Frame 1380: 这是数据包的序号,表明这是捕获的第1380个数据包。
    • 74 bytes on wire (592 bits): 数据包在网络上传输时的大小是74字节,或者592位。
    • 74 bytes captured (592 bits): 实际捕获的数据包大小也是74字节,或者592位。
  2. Ethernet Information(以太网信息):

    • Ethernet II: 表示使用的是Ethernet II帧类型,这是最常见的以太网帧格式。
    • Src: Intel_52:62:e6 (3c:f0:11:52:62:e6): 源MAC地址是3c:f0:11:52:62:e6,制造商是Intel。
    • Dst: Cisco_fff:ff:20 (00:00:0c:ff:ff:20): 目标MAC地址是00:00:0c:ff:ff:20,制造商是Cisco。
  3. IP Information(IP信息):

    • Internet Protocol Version 4: 表明这是一个IPv4数据包。
    • Src: 10.46.184.213: 源IP地址是10.46.184.213。
    • Dst: 122.55.53.109: 目标IP地址是122.55.53.109。
  4. Protocol Information(协议信息):

    • Internet Control Message Protocol: 表明数据包使用的是ICMP协议,这是用于发送错误消息和操作信息的网络层协议。

Wireshark测试Tcp三次握手

Tcp三次握手流程:

  • 第一步:客户端发送一个SYN=1,ACK=0标志的数据包给服务端,请求进行连接,这是第一次握手;
  • 第二步:服务端收到请求并且允许连接的话,就会发送一个SYN=1,ACK=1标志的数据包给发送端,告诉它,可以通讯了,并且让客户端发送一个确认数据包,这是第二次握手;
  • 第三步:服务端发送一个SYN=0,ACK=1的数据包给客户端,告诉它连接已被确认,这就是第三次握手。TCP连接建立,开始通讯。

1.ping一下百度,进行抓包尝试

ping命令

ping www.baidu.com

过滤条件

ip.addr == 110.242.68.4

在这里插入图片描述

2.分析详细信息

第一次握手:客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。 如下图。

在这里插入图片描述

根据以上图示可以看出一些重要信息

  • Info:52395->80代表客户端请求建立连接
  • SYN:标志位,表示请求建立连接
  • Seq = 0 :初始建立连接值为0,数据包的相对序列号从0开始,表示当前还没有发送数据
  • Ack =0:初始建立连接值为0,已经收到包的数量,表示当前没有接收到数据

第二次握手:服务器发回确认包, 标志位为 SYN,ACK

在这里插入图片描述

根据以上图示可以看出一些重要信息

  • Seq = 0 :初始建立值为0,表示当前还没有发送数据
  • Ack = 1:表示当前端成功接收的数据位数,虽然客户端没有发送任何有效数据,确认号还是被加1,因为包含SYN或FIN标志位。(并不会对有效数据的计数产生影响,因为含有SYN或FIN标志位的包并不携带有效数据)

第三次握手:客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1
在这里插入图片描述

根据以上图示可以看出一些重要信息

  • Seq = 1 :表示当前已经发送1个数据
  • Ack = 1 :表示当前端成功接收的数据位数,虽然服务端没有发送任何有效数据,确认号还是被加1,因为包含SYN或FIN标志位(并不会对有效数据的计数产生影响,因为含有SYN或FIN标志位的包并不携带有效数据)。

由此可见我们已经证实了TCP三次握手的具体内容,看来课本还是没有骗我们的


Wireshark常见过滤条件

以下是一些常见的 Wireshark 过滤条件写法

  1. ip.addr == 192.168.1.1:过滤所有源或目标 IP 地址为 192.168.1.1 的数据包。

  2. ip.src == 192.168.1.1:过滤所有源 IP 地址为 192.168.1.1 的数据包。

  3. ip.dst == 192.168.1.1:过滤所有目标 IP 地址为 192.168.1.1 的数据包。

  4. tcp.port == 80:过滤所有 TCP 端口为 80 的数据包。

  5. udp.port == 53:过滤所有 UDP 端口为 53 的数据包。

  6. http:过滤所有 HTTP 协议的数据包。

  7. ftp:过滤所有 FTP 协议的数据包。

  8. icmp:过滤所有 ICMP 协议的数据包。

  9. frame.len == 64:过滤所有长度为 64 字节的数据包。

  10. ip.addr == 192.168.1.1 && tcp.port == 80:过滤所有源或目标 IP 地址为 192.168.1.1 且 TCP 端口为 80 的数据包。

  11. ip.addr == 192.168.1.1 || tcp.port == 80:过滤所有源或目标 IP 地址为 192.168.1.1 或 TCP 端口为 80 的数据包。

  12. !(ip.addr == 192.168.1.1):过滤所有源或目标 IP 地址不是 192.168.1.1 的数据包。


本篇小结

看完本篇相信很多朋友都能得到收获,不管你是摸鱼刷到这篇文章还是确实需要这个来帮助工作,都希望能够给你带来帮助,为你的技能池再增添一例!


原文地址:https://blog.csdn.net/Aaaaaaatwl/article/details/140540392

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!