@SovietPower
2021-12-02T15:17:45.000000Z
字数 2322
阅读 969
CN
启动 wireshark,捕获-选项 中选择 WLAN,设置过滤器为tcp port 80
,关闭混杂模式,勾选enable network name resolution
。
开始捕获后,wget www.sina.com
,然后停止捕获。
作业问题
你的计算机和远程服务器的IP地址是多少?
本机:172.30.205.10
远程服务器:58.205.212.21
总长度字段是否包括IP头加IP有效载荷,或只是IP有效载荷?
总长度字段:Total Length: 1420 B。
IP头部长度:20 B。
IP有效载荷长度:20+1380=1400 B。
所以总长度字段包括IP头部和有效载荷。
在不同的数据包中标识字段的值如何更改或保持相同的值?例如,在同一个TCP连接中的数据包中标识字段的值是否相同,还是每个都不同?不同传输方向上会相同吗?如果标识字段的值有变化,你能从中找出规律吗?
每个一般不同。如果允许分段,则属于相同段的包相同。
不同方向不同,但都是每次递增。
如:
服务器到客户端编号依次为:0(第二次TCP握手), 1125, 1126, 1127...
客户端到服务器编号依次为:54960(第一次TCP握手), 54961(第三次TCP握手), 54962, 54963...
从你的计算机发送的报文的TTL字段初始值是什么?它是最大可能的值,还是一些较低的值?
客户端到服务器:128。
服务器到客户端:51。
不是最大可能值255,但是是较大的值。
如何判断一个数据包是否被分片?普通操作下的大多数的IP数据包不会被分片的。但是接收者需要有办法去确定。
查看标志位Flags的第二位,若为1则表示Don't fragment
,不分片,否则分片。
.1.. .... = Don't fragment: Set
IP报头的长度是多少,它是如何被编码进报头长度域的?
一般为20B,但IP报头包含可变长部分,所以长度范围在20~60 B。
.... 0101 = Header Length: 20 bytes (5)
Internet Header Length
以4字节为单位,所以大小的头部,其报头长度域值为,即除以。
画出IP报文的结构。需要显示出IP报头字段的位置和大小(字节为单位)。
Tracert(跟踪路由,Trace Router)是Windows提供的路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。
结果中的*
是因为,某些路由器不会在TTL超时的情况下回复已超时信息,或禁止ICMP ERROR MESSAGE。
使用命令tracert www.baidu.com
,记录输出结果:
H:\>tracert www.baidu.com
通过最多 30 个跃点跟踪
到 www.a.shifen.com [182.61.200.6] 的路由:
1 54 ms 26 ms 11 ms 172.30.192.1 本地局域网
2 3 ms 20 ms 9 ms 10.100.9.1 本地局域网
3 122 ms 125 ms 67 ms 202.120.95.226 上海市闵行区 华东师范大学 教育网
4 36 ms 37 ms 99 ms 202.120.95.254 上海市闵行区 华东师范大学 教育网
5 157 ms 174 ms 83 ms 10.255.16.1 本地局域网
6 32 ms 24 ms 44 ms 10.255.249.253 本地局域网
7 71 ms 54 ms 30 ms 10.255.38.254 本地局域网
8 * * * 请求超时。
9 17 ms 15 ms 13 ms 101.4.115.105 北京市海淀区 赛尔网络 教育网
10 74 ms 57 ms 58 ms 101.4.118.197 北京市海淀区 赛尔网络 教育网
11 48 ms 40 ms 48 ms 219.224.103.38 北京市海淀区 赛尔网络 教育网
12 93 ms 112 ms 63 ms 101.4.130.38 北京市海淀区 赛尔网络骨干网 教育网
13 80 ms 79 ms 44 ms 182.61.255.34 北京市 百度云
14 52 ms 56 ms 37 ms 182.61.254.175 北京市 百度云
15 * * * 请求超时。
16 * * * 请求超时。
17 * * * 请求超时。
18 64 ms 51 ms 68 ms 182.61.200.6 北京市 百度云
跟踪完成。
根据输出画出网络路径
校验和计算方式:
1. 取出头部的所有字节,然后将2字节的校验和字段值改为00 00
。
2. 因为用位校验和,所以将头部所有字节,每位/字节一组,依次相加,设最后结果为。
3. 保留的低部分,将的位以上的部分继续与相加,得到新的。
4. 重复3直到只剩位。
5. 将取反,得到位校验和。
任取一个IP数据包:
其校验和为,在Wireshark的
编辑-首选项-Protocols-IPv4
中,可选择Validate the IPv4 checksum if possible
开启校验。
将校验和字段0xbb5f
改为0x0000
后,其头部为:
0000 45 00 00 28 04 65 40 00 33 06 00 00 3a cd d4 15
0010 ac 1e cd 0a
依次相加:
将结果的低位和高位分别相加:。
将取反,得到校验和。
注:计算可使用Windows计算器的16进制计算。