【计算机网络】网络层和链路层网路协议分析

简介: 【计算机网络】网络层和链路层网路协议分析

I.IP 协议分析

概述:利用Wireshark 工具抓取网络数据,分析IP 数据报中各个字段的内容,分析IP 数据报的分片

过程与细节:

1.抓取数据包

  • 启动wireshark


启动pingplotter,输入gaia.cs.umass.edu地址后,# of times to Trace设置为3(新版pingplotter设置不了,只能手动),把数据包的大小调整为56bytes

同样,抓取2000字节的数据包

抓取3500字节的数据包


2.分析抓取的数据包并回答相关问题

当时问了我一个问题,为什么IP分片发送的包是1514个字节?


因为网络层MTU的大小是1500字节,也就是规定了网络层的ip头加上ip报文的内容总共是1500字节,传递到链路层的时候,还要加上14字节的帧头。所有最大传输就是1514字节


3.IP 分片


单击Time 栏,按时间先后顺序排列数据报,找到在pingplotter 中将分组大小改为2000 字节后的第一个ICMP Echo Request 报文


分析IP 数据报分片信息

看下面的分片的抓包,ipv4就显示了,当前最后分片的包,这个包显示的主要信息有:该ICMP包分为了2块,一块是0到1479,另一块是1480到1979,也就是当前的包。

抓包的时候,发现了ICMP包和IPv4包,它们的关系如下。


互联网在数据传输时,必定会发生差错,有些差错是不可知的,但有些却是可以知道的。TCP/IP协议包含一个专门的用于发送差错报文的协议,这一协议即为ICMP(Internet控制报文协议)。它是TCP/IP协议族的一个IP层子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。

一个标准的IP协议中,ICMP是不可少的。ICMP的主要功能包括:确认IP包是否成功送达目标地址,通知在发送过程当中IP包被废弃的具体原因,改善网络设置等。同时ICMP的这种通知消息会使用IP进行发送,收到ICMP包的主机会分解ICMP的首部


II.Ethernet&ARP 协议分析

概述:


抓取并分析Ethernet 数据帧的内容,观察ARP 协议在现实网络中如何工作


过程和细节:


1.抓取Ethernet 数据帧并进行分析

使用wireshark抓包链接http://gaia.cs.umass.edu/wireshark-labs/HTTP-ethereal-lab-file3.html下的内容,通过ip过滤

下面分析包含了 HTTP GET 数据的 Ethernet frame 的内容


Ethernet II, Src: Chongqin_86:10:5f (ec:5c:68:86:10:5f), Dst: NewH3CTe_d4:70:02 (44:1a:fa:d4:70:02)
    Destination: NewH3CTe_d4:70:02 (44:1a:fa:d4:70:02)
    Source: Chongqin_86:10:5f (ec:5c:68:86:10:5f)
    Type: IPv4 (0x0800)

由上图可知,我所在主机的以太网地址是 Chongqin_86:10:5f,即ec:5c:68:86:10:5f。以太网 Frame 中目标主机48位地址是:NewH3CTe_d4:70:02(44:1a:fa:d4:70:02)。它不是gaia.cs.umass.edu服务器的以太网地址,而是路由器的以太网地址。然后我们可以看到 Frame 头部 Type 字段的值为IPv4(0x0800),字段的值的含义是帧类型/长度,当该字段的值大于或等于 0x0800 时,表示上层数据使用的协议类型,8 表示以太网。


2.ARP 协议分析


Windows 操作系统进入 CMD 下,使用 ARP 命令,分析 ARPcache的内容

首先查看arp命令

下面显示ARP表


键入 arp -d *命令,清除 ARPcache内容


发现权限需要提升,就以管理员身份运行cmd,重新尝试


打开浏览器,打开wireshark,抓取链接http://gaia.cs.umass.edu/wireshark-labs/HTTP-wireshark-lab-file3.html下面的请求,使用arp过滤


使用eth.addr eqeth.addr eq来过滤对应的mac地址



分析其中的内容

很显然,里面的arp抓包的内容,包含了链路层的一些具体信息,主要的在以下

很显然,里面的arp抓包的内容,包含了链路层的一些具体信息,主要的在以下



相关文章
|
4天前
|
机器学习/深度学习 网络协议 网络性能优化
[计算机网络]深度学习传输层TCP协议
[计算机网络]深度学习传输层TCP协议
11 1
|
8天前
|
存储 SQL 安全
网络安全与信息安全:漏洞分析与加密技术探讨
在当今数字化时代,网络安全与信息安全日益成为全球关注的焦点。本文深入探讨了网络安全中的常见漏洞类型及其影响,并介绍了当前流行的加密技术和提升安全意识的方法,旨在为读者提供系统的知识分享与技术探讨。
15 3
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能在网络安全中的威胁情报分析与响应的应用
人工智能在网络安全中的威胁情报分析与响应的应用
|
8天前
|
监控 网络协议 安全
Verilog代码在上网行为管理软件中的网络设备控制与协议分析
**Verilog摘要:** Verilog是硬件描述语言,用于数字电路设计和网络设备控制。它在上网行为管理软件中用于控制路由器、交换机等,例如通过简单模块控制端口状态。此外,Verilog还支持协议分析,如解析以太网帧提取MAC地址。监控数据可结合Verilog实现自动化提交,例如通过HTTP发送请求到服务器,实现实时监控和响应。这些示例展示了Verilog在网络安全和性能优化中的应用潜力。
47 1
|
4天前
用UDP协议实现发送接收的网络聊天室
用UDP协议实现发送接收的网络聊天室
8 0
|
4天前
|
机器学习/深度学习 安全 数据安全/隐私保护
【计算机网络】深度学习HTTPS协议
【计算机网络】深度学习HTTPS协议
6 0
|
4天前
|
机器学习/深度学习 前端开发 JavaScript
【计算机网络】深度学习使用应用层的HTTP协议
【计算机网络】深度学习使用应用层的HTTP协议
5 0
|
4天前
|
运维 网络协议 算法
不为人知的网络编程(十六):深入分析与解决TCP的RST经典异常问题
本文将从TCP的RST技术原理、排查手段、现网痛难点案例三个方面,自上而下、循序渐进地给读者带来一套完整的分析方法和解决思路。
5 0
|
1月前
|
消息中间件 Java Linux
2024年最全BATJ真题突击:Java基础+JVM+分布式高并发+网络编程+Linux(1),2024年最新意外的惊喜
2024年最全BATJ真题突击:Java基础+JVM+分布式高并发+网络编程+Linux(1),2024年最新意外的惊喜
|
18天前
|
网络协议 算法 Linux
【嵌入式软件工程师面经】Linux网络编程Socket
【嵌入式软件工程师面经】Linux网络编程Socket
37 1

热门文章

最新文章