mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
1762 字
5 分钟
实验2 IP协议分析
2022-07-01

1.实验目的#

  • 了解IP报文格式,熟悉IP报文各个字段含义、长度
  • 掌握基于tcpdump和wireshark软件进行数据包抓取和分析技术

2.实验环境#

  • 硬件要求:阿里云云主机ECS 一台。
  • 软件要求:Linux/ Windows 操作系统

3.实验内容#

3.1 tcpdump基本用法#

tcpdump是一个用于截取网络分组,并输出分组内容的工具。凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具

tcpdump 支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息

参考资料:

https://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html

https://www.jianshu.com/p/d9162722f189

3.2 wireshark基本用法#

Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。

网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用Wireshark来学习网络协定的相关知识。

参考资料:

https://www.wireshark.org/#download

https://pc.qq.com/search.html#!keyword=wireshark

https://www.cnblogs.com/csnd/p/11807736.html

https://pc.qq.com/search.html#!keyword=xshell

3.3 利用tcpdump抓包,wireshark分析包#

在阿里云主机运行命令 traceroute www.xju.edu.cn –T,并利用tcpdump抓包。下载文件到本地机器利用wireshark软件进行分析。

**提示:**1. 必须首先执行抓包命令,然后再执行路径追踪命令。抓包命令 tcpdump -i eth0 -w test.cap

  1. 可使用scp命令或者利用xshellxftp下载数据包到本地机器。
  1. 利用tcpdump抓包,通过wireshark分析捕获的数据包,分析IP的报文结构,将IP协议树中各个名字字段,字段长度,字段信息填入下表。
字段名字段长度字段值字段表达信息
Version4bit4标识采用的 IP 协议的版本号
Header length IP4bit20标识采用的 IP 协议的版本号
Differentiated services Filed8bit0x00用来获得更好的服务。这个字段在旧标准中叫做服务类型,用于标识报文的优先级,但实际上一直没有被使用过。
Total length16bit40标识这个 IP 封包的总容量
Indentification16bit0x6f33数据包的一个 ID 编号,用于识别标识数据包
flag3bit0x40确定是否还有更多的分段
Fragment offset13bit0标识分片报文相对于原始报文起始位置的偏移量
Time to time8bit64是设置一个“数据报可经过的路由器数量”的上限,也被称为“跳数”。
protocol8bit6用于标识网络层之上使用了哪种封装协议
Header checksum16bit0x9d2c用于检查报头的正确性,防止 IP 报头数据错乱
source32bit172.16.2.237源 IP 地址
destination32bit100.100.27.15目标 IP 地址
  1. 利用wireshark分析并解读相关traceroute命令执行结果。

**提示:**在wireshark 过滤器工具栏设置仅显示ICMP

4.实验结果与分析#

4.1 tcpdump基本用法#

tcpdump是一个用于截取网络分组,并输出分组内容的工具。凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具

tcpdump 支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息

  • 默认启动
tcpdump//普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包。

XBDLEKRJiZI1o4z.png

  • 监视指定网络接口的数据包
tcpdump -i eth1//如果不指定网卡,默认tcpdump只会监视第一个网络接口,一般是eth0

4.2 wireshark基本用法#

Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。

网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用Wireshark来学习网络协定的相关知识。其界面如图所示。

hwT2YybXpv4DZdP.png

4.3 利用tcpdump抓包,wireshark分析包#

  1. 执行抓包命令tcpdump -i eth0 -w test.cap并将获取信息存储于/root/test.cap文件中

tMLwgqz9cHUPhDa.png

  1. 运行命令traceroute www.xju.edu.cn –T

bekUQoM2hriayS4.png

  1. 使用xftp连接主机,并将保存的抓包文件保存到电脑

Mn1O56hby9ultBL.png

  1. 使用wiresharp打开test.cap文件,并分析

F2Sg186ZxmW4HYn.png

  1. 对捕获的数据包,分析IP的报文结构,将IP协议树中各个名字字段,字段长度,字段信息填入下表。
字段名字段长度字段值字段表达信息
Version4bit40100 … = Version: 4
Header length IP4bit20… 0101 = Header Length: 20 bytes (5)
Differentiated services Filed8bit0x00Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
Total length16bit40Total Length: 40
Indentification16bit0x6f33Identification: 0x6f33 (28467)
flag3bit0x40Flags: 0x40, Don’t fragment
Fragment offset13bit0…0 0000 0000 0000 = Fragment Offset: 0
Time to time8bit64Time to Live: 64
protocol8bit6Protocol: TCP (6)
Header checksum16bit0x9d2cHeader Checksum: 0x9d2c [validation disabled]
source32bit172.16.2.237Source Address: 172.16.2.237
destination32bit100.100.27.15Destination Address: 100.100.27.15
  1. 分析并解读相关traceroute命令执行结果,通过ICMP对于执行结果进行分析。

2jCLdqIHZOUyec5.png

G3D2ajfuXOV7LFM.png

VviL34IUOpz5tjF.png

分析结果:

ICMP报文的种类分为两种:ICMP差错报告报文和ICMP询问报文。可以发现,我们捕获的过程中出现的ICMP报文类型都为Time to live exceeded in transit,即为时间超过。随机选择一个ICMP报文,我们可以发现,此条ICMP报文Type=11,Code=0,属于差错报告报文,说明时间超过。其校验和为0x4e4d,结果正确,校验和状态良好,且其TTL为4.

5、实验小结#

5.1 问题与解决办法#

问题在使用traceroute命令时,出现-bash: traceroute: command not found错误解决方法使用yum install traceroute命令,首先安装traceroute 问题使用Xftp连接服务器时,出现连接错误的情况解决方法使用校园网连接后恢复正常,排查后发现为服务器防火墙原因

5.2 心得体会#

  • 本次实验报告熟系了对IP协议分析过程中代码及软件的操作,实现对课上知识的印证。通过这次实验,我掌握了traceroute命令使用中的具体流程,了解了常用IP协议分析软件的基本用法,提高了自身编程能力。
  • 通过这些常用的IP协议分析命令操作,对IP协议使用时的跟踪分析,让我印证了上课所学的知识。
分享

如果这篇文章对你有帮助,欢迎分享给更多人!

实验2 IP协议分析
https://dreaife.tokyo/cn/posts/ip-protocol-analysis/
作者
dreaife
发布于
2022-07-01
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

相关文章 智能推荐
1
实验3 UDP协议分析
cs-base 实验旨在掌握UDP协议的内容及其工作原理,分析DNS查询和QQ通信的UDP数据包。实验包括使用tcpdump和wireshark进行数据抓取与分析,结果显示UDP报文由源端口、目的端口、长度和校验和组成。通过实验,解决了traceroute命令和Xftp连接问题,并提高了对IP协议分析的理解和编程能力。
2
实验4 TCP协议分析
cs-base 实验旨在了解TCP协议的基本概念和报文结构,分析连接建立和释放过程,掌握使用tcpdump和wireshark进行TCP协议分析的技术。实验通过wget下载网页并抓取数据包,分析TCP报文头部及其字段,探讨三次握手和四次挥手的过程,最后总结了实验中的问题及解决方法,并提高了对IP协议和TCP报文结构的理解。
3
实验7 HTTP协议分析与测量
cs-base 实验旨在了解HTTP协议及其报文结构,掌握使用tcpdump和wireshark进行HTTP数据包抓取与分析。通过下载新疆大学主页,分析HTTP版本、IP地址、状态码、内容字节数及头部字段。实验中解决了连接错误的问题,并提高了编程能力和对HTTP协议的理解。
4
实验6 DNS协议分析与测量
cs-base 实验旨在了解DNS协议及其基本概念,包括域名结构、DNS服务器和域名解析原理。实验内容涵盖DNS系统配置、使用dig工具进行DNS信息测量,以及通过tcpdump和wireshark分析DNS查询数据包。实验结果显示了DNS查询的各个字段及其含义,最后总结了在实验过程中遇到的问题及解决方案,提升了对DNS协议的理解和编程能力。
5
实验5 电子邮件
cs-base 实验旨在理解电子邮件系统的基本结构和通信协议,包括SMTP和POP3。通过使用邮件代理、客户端、Web邮件和telnet命令进行邮件收发,分析其通信过程和协议。实验结果表明,掌握了邮件发送的具体流程和SMTP协议的分析,提高了编程能力和对协议的理解。

目录