计算机网络-Wireshark探索IPv4

使用工具


  • Wireshark
  • curl(MacOS)
  • traceroute: This lab uses "traceroute" to find the router level path from your computer to a remote Internet host. traceroute is a standard command-line utility for discovering the Internet paths that your computer uses. It is widely used for network troubleshooting. It comes pre-installed on Window and Mac, and can be installed using your package manager on Linux. On Windows, it is called "tracert".

Capture a Trace


运行下面的命令(目标地址可自行更改),并记录下输出的结果。

shell 复制代码
traceroute -I www.baidu.com

Since traceroute takes advantage of common router implementations, there is no guarantee that it will work for all routers along the path, and it is usual to see "*" responses when it fails for some portions of the path.

打开Wireshark准备抓包,发现提示需要安装chmodBPF,但是我按照提示安装,一直安装失败。

解决方案:

关闭Wireshark,在终端执行一下命令

shell 复制代码
cd /Library/Application\ Support/Wireshark/ChmodBPF
sudo ./ChmodBPF

再打开Wireshark,发现可以正常抓包了。

Wireshark设置:

  • Interface: Wi-Fi: en0(MacOS+Wifi)
  • filter: tcp port 80
  • enable network name resolution: translate the IP addresses into names
  • Uncheck capture packets in promiscuous mode: This mode is useful to overhear packets sent to/from other computers on broadcast networks

设置完成后,开启抓包。

在命令行窗口运行,一下命令:

shell 复制代码
curl http://www.baidu.com

之后会在Wireshark窗口显示抓包信息,然后将Wireshark停止。捕获的该信息结合第一步的traceroute信息供之后使用。

Inspect the Trace


该部分使用教材提供的数据进行分析 。随便选择一个分组,查看其IP Header的信息。

字段含义:

  • VersionHeader Length共占一个字节大小,分别标识协议版本号以及协议头部长度,Header Length为5表示协议头部长度为20字节。
  • The Differentiated Services field contains bit flags to indicate whether the packet should be handled with quality of service and congestion indications at routers.
  • Total length标识总长度,包括来自上一层的数据,而Header Length只是IP协议头的长度。

IP Packet Structure


  • IP Packet Structure(bits)
Version IHL Differentiated Services Total Length Identification Reserved bit DF MF Fragment offset TTL Protocol Header checksum Source address Destination address
4 4 8 16 16 1 1 1 13 8 8 16 32 32

从截图中很容易看出,我们本机IP为10.27.192.44,远程百度的服务器IP为182.61.200.6

Identification字段:在同一个源主机发送的分组内不断递增,而且具有唯一性。

TTL字段:最初从本机发出去的分组该字段的值为64(max),之后其他分组都没有超过这个值的。

Internet Paths


shell 复制代码
➜  notes git:(main) ✗ traceroute -I www.baidu.com
traceroute: Warning: www.baidu.com has multiple addresses; using 182.61.200.6
traceroute to www.a.shifen.com (182.61.200.6), 64 hops max, 48 byte packets
 1  10.27.255.254 (10.27.255.254)  12.768 ms  6.054 ms  4.410 ms
 2  10.26.24.28 (10.26.24.28)  6.249 ms  6.363 ms  6.637 ms
 3  202.194.0.125 (202.194.0.125)  6.411 ms  6.811 ms  6.526 ms
 4  58.194.164.77 (58.194.164.77)  6.379 ms  6.009 ms  4.612 ms
 5  211.137.207.225 (211.137.207.225)  8.183 ms  6.140 ms  13.275 ms
 6  120.192.16.121 (120.192.16.121)  6.702 ms * *
 7  * * *
 8  120.222.48.22 (120.222.48.22)  22.239 ms  8.045 ms  8.415 ms
 9  120.192.71.222 (120.192.71.222)  9.438 ms  10.118 ms  9.659 ms
10  182.61.218.112 (182.61.218.112)  46.419 ms  10.557 ms  9.866 ms
11  182.61.255.138 (182.61.255.138)  15.387 ms  16.662 ms  15.018 ms
12  182.61.254.181 (182.61.254.181)  45.149 ms  20.488 ms  20.181 ms
13  * * *
14  * * *
15  * * *
16  * * *
17  182.61.200.6 (182.61.200.6)  15.269 ms  16.548 ms  17.230 ms

IP Header Checksum


可按照下面的操作将校验打开,然后选择一个校验正确的分组顺着之后的步骤进行操作。

  1. Divide the header into 10 two byte (16 bit) words.4500 0034 c885 4000 ef06 3ceb(checksum) 825f 808c 80d0 0297
  2. Add these 10 words using regular addition.0x3FFFC
  3. To compute the 1s complement sum from your addition so far, take any leading digits (beyond the 4 digits of the word size) and add them back to the remainder. FFFC+0003=FFFF
  4. The end result should be 0xffff. This is actually zero in 1s complement form, or more precisely 0xffff is -0 (negative zero) while 0x0000 is +0 (positive zero).
相关推荐
互联网杂货铺4 小时前
几个常见的Jmeter压测问题
自动化测试·软件测试·测试工具·jmeter·职场和发展·测试用例·压力测试
大霞上仙4 小时前
postman读取文件执行
测试工具·postman
测试者家园7 小时前
ChatGPT与接口测试工具的协作
软件测试·测试工具·chatgpt·接口测试·ai赋能·用chatgpt做软件测试·测试图书
ggggyyyyy09287 小时前
接口测试-Fidder及jmeter使用
测试工具·jmeter·fiddler·接口测试
测试19988 小时前
Chrome+Postman做接口测试
自动化测试·软件测试·chrome·测试工具·职场和发展·测试用例·postman
ZachOn1y10 小时前
计算机网络:运输层 —— TCP 的选择确认(SACK)
网络·tcp/ip·计算机网络·可靠传输·sack·选择确认
爱学测试的李木子11 小时前
性能】JDK和Jmeter的安装与配置
java·开发语言·软件测试·测试工具·jmeter
wang090715 小时前
抓包之使用wireshark抓http2的包
网络·测试工具·wireshark
kikyo哎哟喂20 小时前
计算机网络基础--WebSocket
websocket·网络协议·计算机网络
sone1213820 小时前
计算机网络(第8版)第四章 网络层(4.6.1~4.6.5)
计算机网络