沈阳自助建站模板,陕西示范校建设专题网站,网站建设地址北京昌平,wordpress网站加密码破解网络调试工具——Wireshark
Wireshark 是世界上应用最广泛的网络协议分析器#xff0c;它让我们在微观层面上看到整个网络正在发生的事情。 Wireshark 本身是一个开源项目#xff0c;所以也得到了很多志愿者的支持。同时#xff0c;Wireshark 具有丰富的功能集#xff0c;…网络调试工具——Wireshark
Wireshark 是世界上应用最广泛的网络协议分析器它让我们在微观层面上看到整个网络正在发生的事情。 Wireshark 本身是一个开源项目所以也得到了很多志愿者的支持。同时Wireshark 具有丰富的功能集包括 1. 深入检查数百个协议并不断添加更多协议 2. 实时捕获和离线分析 3. 支持 Windows、Linux、macOS、Solaris、FreeBSD、NetBSD以及许多其他平 台 4. 提供 GUI 浏览也可以通过 TTY 5. 支持 VOIP 6. 支持 Gzip 7. 支持 IPSec。 8. …… 是不是觉得Wireshark非常强大无论你从事哪种开发工作它都可以帮到你因此也是面试 经常考察的内容。 注你可以到 Wireshark 的主页https://www.wireshark.org/download.html下载Wireshark。 如果你是一个黑客、网络安全工程师或者你的服务总是不稳定就需要排查那么你会如何hack 这些网络连接、网络接口以及分析网络接口的封包呢
接口列表
Whireshark 可以帮你看到整个网络交通情况也可以帮你深入了解每个封包。而且Whireshark 在 macOS、Linux、Windows 上的操作都是一致的打开 Wireshark 会先看到如下图所示的一个选择网络接口的界面。 我们要做的第一件事情就是选择一个网络接口Network Interface。Linux 下可以使用ifconfig指令看到所有的网络接口Windows 下则使用 ipconfig。可以看到上图中有很多网络接口目前我教学这台机器上连接路由器的接口是以太网 2。另外可以看到我的机器上还有VMware的虚拟网络接口你的机器可能和我的机器显示的不一样。
开启捕获功能
选择好接口之后点击左上角的按钮就可以开启捕获开启后看到的是一个个数据条目。因为整个网络的数据非常多大量的应用都在使用网络你会看到非常多数据条目每个条目是一次数据的发送或者接收。如下图所示 以下是具体捕获到的内容
序号No.是 Wireshark 分配的一个从捕获开始的编号。时间Time是从捕获开始过去的时间戳具体可以在视图中设置比如可以设置成中文的年月日等。这里有很多配置需要你自己摸索一下我就不详细介绍了。源地址和目标地址Source 和 Destination是 IP 协议注意这里有 IPv6 的地址也有 IPV4 的地址。协议可能有很多种比如 TCP/UDP/ICMP 等ICMP 是 IP 协议之上搭建的一个消息控制协议Internet Control Message Protocol比如 Ping 用的就是 ICMP还有ARP 协议Address Resolution Protocol用来在局域网广播自己的 MAC 地址。Length 是消息的长度Bytes。Info 是根据不同协议显示的数据比如你可以看到在TCP 协议上看到Seq 和 ACK。这里的 Seq 和 ACK 已经简化过了正常情况下是一个大随机数Whireshark 帮你共同减去了一个初始值。
观察 TCP 协议
如果你具体选择一个 TCP 协议的捕获可以看到如下图所示的内容 然后在这下面可以观察到详情内容 我们可以从不同的层面来看这次捕获。从传输层看是 TCP 段从网络层来看是 IP 封包从链路层来看是 Frame。 点开不同层面观察这个 TCP 段就可以获得对它更具体的认识例如下图是从 TCP 层面理解这次捕获 你可以看到这次捕获是一次 ACK见 Flags字段从端口 58260 发往 443那么大概率是HTTPS 客户端给服务器的响应。
消息视图
如果你选中一条消息下面会出现一个消息视图。还有一个二进制视图。二进制视图里面是数据的二进制形式消息视图是对二进制形式的解读。 Whireshark 追溯的是最底层网卡传输的 Frame帧可以追溯到数据链路层。因此对二进制形式的解读也就是我们的消息视图也要分层。因为对于同样的数据不同层的解读是不同的。
最上面是 Frame 数据主要是关注数据的收发时间和大小。接着是数据链路层数据关注的是设备间的传递。你可以在这里看到源 MAC 地址和目标MAC 地址。然后是网络层数据IP 层数据。这里有 IP 地址源 IP 地址和目标 IP 地址也有头部的 Checksum用来纠错的。这里就不一一介绍了你可以回到我的文章 路由和寻址的区别复习这块内容。最下面是传输层数据。 也就是 TCP 协议。关注的是源端口目标端口Seq、ACK 等。有的传输层上还有一个 TLS 协议这是因为用 HTTPS 请求了数据。TLS 也是传输层。TLS 是建立在 TCP 之上复用了 TCP 的逻辑。
观察 HTTP 协议
Wireshark 还可以用来观察其他的协议比如说 HTTP 协议下图是对 HTTP 协议的一次捕获 可以看到Wireshark 不仅仅捕获了应用层还可以看到这次 HTTP 捕获对应的传输层、网络层和链路层数据。
过滤和筛选
Wireshark 还提供了捕获的过滤我们只需要输入过滤条件就可以只看符合条件的捕获。比如我们想分析一次到百度的握手。首先开启捕获然后在浏览器输入百度的网址最后通过ping指令看下百度的 IP 地址如下图所示 看到IP 地址之后我们在 Wireshark 中输入表达式如下图所示 这样看到的就是和百度关联的所有连接。上图中刚好是一次从建立 TCP 连接3 次握手到HTTPS 协议传输握手的完整过程。你可以只看从192.168.1.5到14.215.177.39的请求。首先是从客户端192.168.1.5发出的 SYN 和百度返回的 SYN-ACK如下图所示 然后是客户端返回给百度一个 ACK 接下来是 HTTPS 协议开始工作开始握手 可以看到 HTTPS 协议通过 TLSv1.2 发送了 Client Hello 到服务端。接下来是 Server 返回给客户端 ACK然后再发送给客户端一个 Server Hello 之后百度回传了证书 最后开始交换密钥直到 HTTPS 握手结束
报文颜色
在抓包过程中黑色报文代表各类报文错误红色代表出现异常其他颜色代表正常传输。
总结
Wireshark 是个强大的工具支持大量的协议。还有很多关于 Wireshark 的能力希望你可以进一步探索如下图中鼠标右键一次捕获可以看到很多选项都是可以深挖的。 如何进行 TCP 抓包答案就是用工具例如 Wireshark。