计算机网络实验

—————————————————————————————————————

实验2:Wireshark 实验

Wireshark 是一个免费的网络封包分析软件,可以截取网络封包并显示出详细的网络封包内容 (Wireshark使用WinPCAP作为接口,可以直接与网卡进行数据报文交换,获取网络数据封包,包括 HTTP、TCP、UDP 等网络协议包)
但Wireshark只能查看封包无法修改
工作流程:
【1】获取Wireshark位置
【2】连接internet网络接口
【3】使用捕获过滤器避免产生过大捕获文件
【4】使用显示过滤器过滤数据
【5】着色规则高亮显示
【6】构建可视化图表
【7】重组数据

实验2.1.1(数据链路层)熟悉Ethernet帧结构)

Ethernet帧结构 :
7B前导码+1B帧前定界符+6B目的地址+6B源地址+2B类型字段+46~1500B数据字段+4B校验码

Wireshark抓包操作

wireshark 过滤 IPV6指令_Wireshark

Ethernet II中标注了源mac地址和目的mac地址的字段,并且帧类型为IPv6

—————————————————————————————————————
问题一:
Wireshark中会自动省略过滤掉帧末尾的4字节校验码
—————————————————————————————————————

实验2.1.2(了解子网内/外通信时的MAC地址)

1.以IPv6格式抓取旁边电脑包:

wireshark 过滤 IPV6指令_网络_02

并且包类型为IPv6,并且访问本子网计算机目的mac地址为该主机

wireshark 过滤 IPV6指令_wireshark 过滤 IPV6指令_03

2.以IPv6格式抓取 qige.io包:

命令提示符中ping qige.io获取网站回应

wireshark 过滤 IPV6指令_wireshark 过滤 IPV6指令_04

同时抓取传输包:包类型为IPv6,并且目的mac地址为当前网关地址

wireshark 过滤 IPV6指令_Wireshark_05

3.以IPv6格式抓取www.cqjtdx.edu.cn网站包:

请求www.cqjtu.edu.cn网址回应:

wireshark 过滤 IPV6指令_网络_06

并以icmpv6格式显示过滤:包类型为IPv6,并且目的mac地址为当前网关地址

wireshark 过滤 IPV6指令_Wireshark_07

实验2.1.3(掌握ARP解析过程)

arp -t *清除缓存后,ping 192.168.0.148(旁边电脑)

wireshark 过滤 IPV6指令_TCP_08

并在arp过滤下利用Wireshark捕捉包

wireshark 过滤 IPV6指令_Wireshark_09

arp -t *再次处理缓存后,ping qigo.io获取棋歌网站回应

wireshark 过滤 IPV6指令_wireshark 过滤 IPV6指令_10

并在arp过滤下利用Wireshark捕捉包

wireshark 过滤 IPV6指令_wireshark_11

—————————————————————————————————————
问题一:
ARP代理下对非子网IP的访问是通过路由器发送出去,目标IP在收到请求后会通过路由器端口IP返回去,那么ARP解析将会得到网关的MAC。
—————————————————————————————————————

实验2.2.1(网络层)熟悉IP包结构)

ping指令获取百度网址回应:

wireshark 过滤 IPV6指令_TCP_12

Wireshark抓包:获取ip包信息如下

wireshark 过滤 IPV6指令_wireshark 过滤 IPV6指令_13

【1】Frame 22: 以太帧长度为1506bytes
【2】Ethernet II,Src: IPv4
【3】Internet Protocol Version 4,Src:
包含ip帧类型Version:4位、头部长度Header Length: 20 bytes、服务类型Differentiated Services Field: 0x04 (DSCP: LE, ECN: Not-ECT)、ip帧总长度Total Length:1492

—————————————————————————————————————
问题一:
在数据传输中可以通过头部ip识别ip总长度,超过限制则将数据返回数据链路层重新分段
—————————————————————————————————————

实验2.2.2(IP包的分段与重组)

使用 ping 202.202.240.16 -l 2000 发送长度为2000的ip包数据

wireshark 过滤 IPV6指令_网络_14

当要传输的数据块大于1460字节时,TCP层就会把它分段,封装成多个网络包:
分段标志字段在IP报头中占3bit、ip头部格式中包含偏移量大小和总长度大小

通过显示过滤器筛选ip.addr == 202.202.240.16信息

wireshark 过滤 IPV6指令_Wireshark_15


wireshark 过滤 IPV6指令_TCP_16

—————————————————————————————————————
问题一:
IPv6中遇到大数据包只能转发至能处理该数据包的链路上重新分段重组
—————————————————————————————————————

实验2.2.3(考察TTL事件)

从1到结束,TTL值随跳数增加,并且每三个节点TTL数值不会发生改变,所以可以通过数节点数的方法确定源点到计算机中间节点数实现追踪

tracert命令进行数据路由追踪

wireshark 过滤 IPV6指令_Wireshark_17

显示过滤器筛选icmp格式,使用Wireshark对www。baidu.com网址抓包

wireshark 过滤 IPV6指令_wireshark 过滤 IPV6指令_18

—————————————————————————————————————
问题一:
50跳
—————————————————————————————————————

实验2.3.1(传输层)熟悉TCP和UDP段结构)

TCP传输控制协议: 是面向连接的传输层协议,点对点的建立连接,在传输完数据后释放建立的TCP连接
UDP用户数据报协议: 是面向消息的传输层协议,它不保证向上层协议提供消息传递,不保留UDP状态,没有建立连接,是具有不可靠性的基于IP的简单协议

ping指令获取百度回应

wireshark 过滤 IPV6指令_wireshark 过滤 IPV6指令_19

用Wireshark抓取百度包:显示过滤器(TCP)

wireshark 过滤 IPV6指令_TCP_20

用Wireshark抓取百度包:显示过滤器(UDP)

wireshark 过滤 IPV6指令_网络_21

Transmission Control Protocol, Src Port: 63124, Dst Port: 443, Seq: 0, Len: 0 包含:
【1】源端口Source Port
【2】目的端口Destination Port
【3】头部长度Header Length
【4】标志位Flags
【5】校验和Checksum

—————————————————————————————————————
问题一:
端口号用于接收报文并发送报文至对应进程,源端口标识发起通信进程,目的端口标识接受通信进程
—————————————————————————————————————

实验2.3.2(分析TCP建立和释放连接)

通过浏览器访问qige.io网站用Wireshark抓包

wireshark 过滤 IPV6指令_TCP_22

1.第一次握手: SYN置于1

2.第二次握手: SYN、ACK同时置于1

3.第三次握手: SYN置于0、ACK置于1

捕获三次握手连接的包

wireshark 过滤 IPV6指令_网络_23

4.第四次握手: FIN置于1释放连接

捕获四次握手连接的包

wireshark 过滤 IPV6指令_TCP_24

—————————————————————————————————————
问题一:
连接属于短连接一旦数据传输完毕就会断开连接,但是页面以及被缓存的缘故保留,在此基础上如果需要再次传输则再建立连接满足多用户的同时使用
问题二:
会存在握手连接合并的状况,当对方没有数据再发送时就会发送FIN断开连接出现FIN,ACK一起出现的情况
—————————————————————————————————————

实验2.4.1(应用层)了解DNS解析)

DNS(域名系统): 域名和ip地址相互映射的分布式存储数据库,以域名为索引能够快速访问互联网
HTTP(超文本传输协议) 基于客户/服务器模式、简单面向连接的请求-响应协议,运行在TCP上的一次性连接

在dns显示过滤器下,先使用ipconfig /flushdns命令清除缓存,再使用nslookup qige.io命令进行解析:

wireshark 过滤 IPV6指令_wireshark_25

同时Wireshark抓包:

wireshark 过滤 IPV6指令_wireshark 过滤 IPV6指令_26

包含udp信息内容,同上
包含dns信息内容:
【1】事务id Transaction ID: 0x614c
【2】标志位 Flags: 0x0100 Standard query
【3】问题计数 Questions: 1
【4】回答资源记录数 Answer RRs: 0
【5】权威名称服务器计数 Authority RRs: 0
【6】附加资源记录数 Additional RRs: 0

—————————————————————————————————————
问题一:
可能的原因是服务器负载得到平衡访问次数非常多,设立了很多台计算机辅助分担网络压力
—————————————————————————————————————

实验2.4.1(了解HTTP的请求和应答)

浏览器打开qige.io并http显示过滤器后Wireshark捕获包

wireshark 过滤 IPV6指令_网络_27

捕获的包中找到HTTP请求包、应答包,并查看相应代码指令

在这里插入图片描述

wireshark 过滤 IPV6指令_wireshark 过滤 IPV6指令_28

—————————————————————————————————————
问题一:
服务器根据浏览器传来的时间发现和当前请求资源的修改时间一致,就应答304,表示不传应答体并从缓存里取
—————————————————————————————————————