1、实验目的
-
了解IP报文格式,熟悉IP报文各个字段含义、长度
-
掌握基于tcpdump和wireshark软件进行数据包抓取和分析技术
2、实验环境
-
硬件要求:阿里云云主机ECS 一台。
-
软件要求:Linux/ Windows 操作系统
3、实验内容
3.1 tcpdump 基本用法
tcpdump是一个用于截取网络分组,并输出分组内容的工具。凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具。
tcpdump 支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
参考资料:
Linux tcpdump命令详解 - ggjucheng - 博客园
3.2 wireshark基本用法
Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用Wireshark来学习网络协定的相关知识。
参考资料:
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)根据上图中数据分析,便可以填写下列表格。
| 字段名 | 字段长度 | 字段值 | 字段表达信息 |
|---|---|---|---|
| Version | 1byte(s) | 4 | 版本号 |
| Header length IP | 1byte(s) | 20 bytes | IP报文头长度 |
| Differentiated services Filed | 1byte(s) | 0x14 | 服务类型 |
| Total length | 2byte(s) | 112 | 数据包总长度 |
| Indentification | 2byte(s) | 0xb384 | 标识符 |
| flag | 1byte(s) | 0x2 | 标识 |
| Fragment offset | byte(s) | 0 | 分段偏移量 |
| Time to live | 1byte(s) | 54 | 生存周期 |
| protocol | 1byte(s) | TCP(6) | 上层协议 |
| Header checksum | 2byte(s) | 0x723d | 报文头校验和 |
| source | 4byte(s) | 47.96.60.109 | 源地址 |
| destination | 4byte(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键,即可获得输出结果。

4628

被折叠的 条评论
为什么被折叠?



