实验二 IP协议分析

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

1、实验目的

  • 了解IP报文格式,熟悉IP报文各个字段含义、长度

  • 掌握基于tcpdump和wireshark软件进行数据包抓取和分析技术

2、实验环境

  • 硬件要求:阿里云云主机ECS 一台。

  • 软件要求:Linux/ Windows 操作系统

3、实验内容

3.1 tcpdump 基本用法

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

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

参考资料:

Linux tcpdump命令详解 - ggjucheng - 博客园

tcpdump详细教程 - 简书

3.2 wireshark基本用法

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

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

参考资料:

Wireshark · Go Deep

腾讯软件中心-海量软件高速免费下载-软件搜索结果

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

腾讯软件中心-海量软件高速免费下载-软件搜索结果

3.3 利用tcpdump抓包,wireshark分析包

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

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

  • 可使用scp命令或者利用xshell和xftp下载数据包到本地机器。

1)利用tcpdump抓包,通过wireshark分析捕获的数据包,分析IP的报文结构,将IP协议树中各个名字字段,字段长度,字段信息填入下表。

字段名字段长度字段值字段表达信息
Version
Header length IP
Differentiated services Filed
Total length
Indentification
flag
Fragment offset
Time to live
protocol
Header checksum
source
destination

2)利用wireshark分析并解读相关traceroute命令执行结果。

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

4、实验结果与分析

4.1 利用tcpdump抓包,wireshark分析包

1.首先在阿里云主机输入抓包命令 tcpdump -i eth0 -w test.cap,使用tcpdump工具来抓取网络接口 eth0 上 的数据包,并将这些数据包保存到名为 "test.cap" 的文件中。tcpdump: 是一个网络抓包工具,用于捕获网络数据包并进行分析;-i eth0: 指定要监听的网络接口,这里是eth0,表示监听以太网接口;-w test.cap: 指定输出捕获的数据包到一个文件中,这里是test.cap,其中.cap是一种常见的网络数据包捕获文件格式。因此,这个指令的含义是使用tcpdump工具在eth0网络接口上捕获网络数据包,并将捕获的数据包保存到名为test.cap的文件中。

2.再新建一个实验窗口,执行traceroute www.baidu.com命令,这是用来跟踪从当前IP地址到www.baidu.com域名所指向的IP地址所经过的路由地址列表。traceroute命令能够帮助用户了解数据包在网络中传输时经过的路径,包括中间经过的所有路由器节点以及到达这些节点的时间。通过执行该命令,用户可以查看返回的信息,了解经过的节点数量以及每个节点的状态,例如成功到达某个节点或节点是否存在问题。traceroute命令利用ICMP协议定位计算机和目标计算机之间的所有路由器,并通过操作独立ICMP调用报文的TTL值并观察该报文被丢弃时的返回信息,从而遍历数据包传输路径上的所有路由器。

3.返回第一个窗口,将跟踪网站路径的命令traceroute www.baidu.com 执行 一遍,键入ctrl+c,即可看到抓包的数量。本次实验共抓包1335。

4.下载Xshell软件。Xshell是一款功能强大的SSH(Secure Shell)客户端软件,允许用户通过安全的加密通道远程连接到其他计算机或服务器。使用Xshell,可以在远程计算机上执行命令、传输文件以及管理远程系统。

(1)在浏览器输入XSHELL - NetSarang Website网址,点击下载。

(2)在新的页面右边点击免费授权页面。

(3)在跳转后的 页面可选择下载Xshell和Xftp进行下载,我选择Xshell,点击下载,即可完成下载。

5.利用Xshell下载数据包到本地机器并分析。

(1)打开Xshell软件,在跳出的对话窗口点击新建按钮。

(2)点击连接按钮,主机填写阿里云虚拟环境左下角的ECS公网地址。

(3)点击用户身份验证,用户名和密码填写阿里云虚拟环境左下角的ECS登录名和登陆密码。

(4)在Xshell窗口键入sz test.cap命令,将在此次实验中获取的 test.cap文件下载传输至指定文件夹。

(5)打开指定文件夹,确认test.cap文件下载成功。

(6)打开wireshark软件,将刚才保存的test.cap文件打开。

(7)在Wireshark软件中打开文件后,便会自动对test.cap文件中的数据进行分析。

(8)根据上图中数据分析,便可以填写下列表格。

字段名字段长度字段值字段表达信息
Version1byte(s)4版本号
Header length IP1byte(s)20 bytesIP报文头长度
Differentiated services Filed1byte(s)0x14服务类型
Total length2byte(s)112数据包总长度
Indentification2byte(s)0xb384标识符
flag1byte(s)0x2标识
Fragment offsetbyte(s)0分段偏移量
Time to live1byte(s)54生存周期
protocol1byte(s)TCP(6)上层协议
Header checksum2byte(s)0x723d报文头校验和
source4byte(s)47.96.60.109源地址
destination4byte(s)172.16.2.37目的地址

6.利用wireshark分析并解读相关traceroute命令执行结果。在应用显示过滤器键入icmp,即可解读相关traceroute命令执行结果。

5、实验小结

5.1 问题与解决办法:

问题:

(1)在对目标网站进行路径跟踪时,实验平台提示traceroute命令不存在。

(2)在执行sz test.cap命令时,实验平台提示sz命令不存在。

(3)在执行traceroute www.baidu.com命令之后,马上输入tcpdump -i eth0 -w test.cap命令 进行数据抓包,发现运行结果一直输出不出来。

解决办法:

(1)在执行traceroute命令之前,执行yum install -y traceroute命令,将traceroute命令下载下来。

(2)在执行traceroute命令之前,执行yum install -y lrzsz命令,将lrzsz命令下载下来。

(3)实现数据抓包时,需要新建两个实验窗口,在第实验窗口中运行tcpdump -i eth0 -w test.cap命令,在第二个一个实验窗口运行traceroute www.baidu.co m命令,再在第一个实验窗口运行traceroute www.baidu.com,当第二个 实验窗口中的traceroute命令运行完毕后,再在第一个实验窗口中按下Ctrl+C键,即可获得输出结果。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值