ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

eNSP实验入门:用Wireshark抓包看懂ICMP与ARP协议

eNSP实验入门:用Wireshark抓包看懂ICMP与ARP协议 简介这是一份围绕华为eNSP仿真平台编写的入门实验文档适合网络工程专业学生、初学者及备战网络类技能竞赛的备赛者使用。文档完整呈现利用eNSP搭建基础网络的核心流程从设备拖拽、拓扑连线、端口状态检查到终端主机名与静态IP地址配置、设备启动及连通性测试再到通过ping命令生成ICMP流量并借助Wireshark完成接口抓包输入icmp或arp过滤条件观察网络层与数据链路层报文格式可帮助读者系统掌握eNSP基本使用方法与常见网络排障手段。资源为单个docx文档约648KB包含实验目的、实验环境说明、详细步骤说明及思考题结构清晰、步骤可照做执行尤其适合需要独立完成网络基础实验的初学者。目前已有2611人学习下载配套的Ethernet II帧结构、IP分组结构等附录内容还能为后续深入学习TCP/IP协议栈与网络协议分析打下扎实基础。1. eNSP 搭第一个基础网络拓扑不是主角状态才是第一次打开 eNSP 做基础网络实验的人很多时间都花在拖图标上——三台 PC、一台 S3700、几根线一拉拓扑图看起来就像那么回事。可等到双击 PC1 想敲 ping 的时候才发现请求全是超时而且原因往往不是 IP 配错而是设备压根没启动。eNSP 里所有设备默认都是关机状态连线上那两个红点就是最直接的信号。这个实验真正要练的不是把拓扑画得多好看而是把一条静态链路从 Down 拉到 Up再抓包看看 ICMP 和 ARP 这些协议在链路上到底长什么样。适合刚接触华为设备、准备啃 TCP/IP 但不想一上来就摸真机的学生也适合要把 eNSP 实验流程固化下来的从业者。血泪经验是别急着开抓包先把设备状态搞明白后面少踩一半坑。2. 拓扑搭建与设备启动S3700 选型理由以及红点变绿的三个前提eNSP 左侧面板里塞了几十种设备路由器、交换机、防火墙、无线 AP 全都有。这个实验却只用了两样PC 和 S3700 交换机。选型克制因为目标很单纯——验证一个不跨网段的基础网络是怎么跑起来的。S3700 是华为二层接入交换机百兆电口默认所有端口都在 VLAN 1 里设备一开就是一个广播域。三台 PC 接在同一台交换机上要观察的就是同网段内 IP 通信的全过程不涉及路由协议也不需要三层转发二层交换机完全够用。有人习惯一上来就拖一台 AR 路由器做实验不是不行但会把接口编号、默认网关和路由表这些概念搅在一起对刚入门的人不友好。把这一步单独拉出来反而能看清“帧怎么转发、IP 怎么封装”。2.1 设备选型为什么要用二层交换机以及 PC 在 eNSP 里的角色eNSP 里的 PC 不是一台完整操作系统的模拟而是一个轻量终端能配置 IP、能打开命令行、能执行 ping 和 arp 这类基础命令但没有文件系统也装不了额外软件。这个限制在基础实验里反而是优点变量少了问题自然就好排查。如果换成真实 PC 加真交换机网卡驱动、防火墙、IP 冲突这些不可控因素会直接把实验带偏。S3700 在 eNSP 里的操作手感也接近真实设备支持命令行视图后续做 VLAN 划分、ACL 配置时还能继续用同一台设备不用换拓扑重学一遍。实验中路由器和防火墙都没出现是因为它们负责的跨网段转发和访问控制在当前阶段还没有用武之地。2.2 拖拽、命名和端口连接e0/0/1 里的三个数字分别代表什么搭建拓扑的步骤很图形化但每一步都有对应的网络含义。先点左上角“新建”创建空白画布然后在左侧面板顶部的终端设备里拖出三个 PC 图标双击设备名称分别改成 PC1、PC2、PC3。接着在交换机分类里选中 S3700拖到画布上默认名字叫 LSW1。最后点左侧的“连接”图标依次单击两台设备并选择端口完成连线。端口命名要会读e 表示以太网端口e0/0/1 从左到右分别是槽位号、子卡号、端口号。PC 上一般只有一个以太网口 e0/0/1所以三台 PC 都从这个口出而交换机 S3700 有三个端口可用分别承接三台终端。源设备源端口目标设备目标端口PC1e0/0/1LSW1e0/0/1PC2e0/0/1LSW1e0/0/2PC3e0/0/1LSW1e0/0/3有些版本的实验文档会把三条连接都写成“PC1 e0/0/1 连 LSW1”那是笔误实际是三台 PC 各占一条线分别接到交换机的三个不同端口。连线完成后两端会露出红点红点表示链路 Down。这里要强调红点不是错误标记它只是端口状态指示灯告诉你这条物理链路当前没有激活。很多新手看到红点就开始删线重连白白浪费时间。设备启动完成后红点才会变绿。2.3 启动设备单台启动、批量启动和 VirtualBox 前置条件启动设备有两种方式右击单台设备在菜单里选“启动”或者用鼠标框选多台设备右击批量启动。框选时注意把连线和设备都圈进去别点到空白处把选区取消。实验里建议直接用框选方式一次性启动全部设备。启动完成后线缆两端的红点变成绿点表示链路状态变为 Up此时设备才具备收发报文的能力。设备启动依赖虚拟化环境eNSP 底层通过 VirtualBox 运行设备镜像所以电脑上必须提前装好匹配版本的 VirtualBox以及 WinPcap 或 Npcap 抓包驱动。这个前置条件一旦出问题就会遇到后面第 5 章要展开的“启动失败 40”错误。正确顺序是先启动、等图标稳定、看端口颜色最后才去做 IP 配置和 ping 测试。提示批量启动后设备仍在初始化别急着开抓包等几秒到十几秒等交换机命令行能正常回显再继续。3. 给三台 PC 配静态 IP子网掩码、命令行和 ping 超时的判断拓扑通了设备启动了接下来是给终端“上户口”。这个实验用静态 IP因为它最简单最适合观察协议交互过程。DHCP 虽然省事但地址是动态分配的用户看不到地址从哪来、掩码怎么匹配也就很难理解同网段通信的判定逻辑。实验要求每台 PC 有唯一 IP 和统一掩码三台设备落在同一个网段里这样交换机只需要做二层转发不需要配置任何路由。这里我把最常见的 192.168.1.0/24 网段作为示例它属于私有地址段不会和公网冲突C 类地址的默认掩码就是 255.255.255.0正好 24 位。3.1 基础配置标签页主机名、静态地址和子网掩码怎么填配置入口在右键 PC 之后弹出的“设置”窗口里。这个窗口有“基础配置”“命令行”“组播”“UDP 发包工具”四个标签页实验用前两个。“基础配置”标签页里主机名填 PC1IPv4 配置区域选择“静态”IP 地址填 192.168.1.1子网掩码填 255.255.255.0。三台 PC 的完整配置建议如下。设备主机名IP 地址子网掩码PC1PC1192.168.1.1255.255.255.0PC2PC2192.168.1.2255.255.255.0PC3PC3192.168.1.3255.255.255.0填完必须点窗口右下角的“应用”按钮再点右上角关闭。这个动作容易被忽略尤其是连续配置三台 PC 时填完直接关窗配置根本没写进去后面 ping 必然失败。同网段直连不需要填默认网关如果配置面板里提供了默认网关这一项留空即可。网关只有在跨网段访问时才需要实验里三台 PC 都在 192.168.1.0/24 内交换机纯二层转发不查路由表。3.2 命令行界面ping 命令、持续 ping 和回显信息的判断打开命令行有两种方式双击设备图标在弹出的窗口里选“命令行”标签页或者右键设备选“设置”再切到“命令行”标签页。两者效果一样区别只是入口不同。在命令行里执行 ping 命令测试连通性ping 192.168.1.2 ping 192.168.1.2 -t第一行发四个 ICMP 回送请求后结束第二行加-t参数后就不间断发送直到用户按 CtrlC 终止。回显信息要看懂再下结论。Reply from 192.168.1.2: bytes32 time1ms TTL128表示通了Request timed out表示超时Destination host unreachable表示目标不可达。后两者的区别很关键timeout 通常是这条链路没有任何响应可能是设备没启动、IP 配错或者线没通unreachable 是本地已经判断出目标不存在或不在同一网段所以直接报错问题通常出在寻址上。新手最容易把这两种情况混为一谈排查方向就跟着错。3.3 连通性验证矩阵三台 PC 之间怎么测、怎么看建议把三台 PC 的连通性完整测一遍PC1 ping PC2PC1 ping PC3PC2 ping PC3有条件就反向再各测一次。只测相邻两台会漏掉单向故障比如某台 PC 的 IP 配错会导致它能收到别人发的包但自己回不去表现为别人 ping 它有回显它 ping 别人超时。测试前先确认三件事设备和交换机图标都处于启动完成状态连线上是绿点三个 IP 和掩码都在同一个网段。如果 PC1 能通 PC2 但 PC3 超时优先检查 PC3 的 IP 地址再看 PC3 到 LSW1 的 e0/0/3 端口连线最后看交换机那个端口是否 Up。S3700 默认所有端口在 VLAN 1没有额外划分所以排除 VLAN 因素后问题范围会小很多。4. 用 Wireshark 拆 ICMP 报文抓包入口、Filter 规则和报文格式的三个层次ping 通了只说明数据能来回协议在链路上到底怎么封装、怎么解析从命令行回显里完全看不到。Wireshark 在这里扮演的是黑匣子译码器——抓住每一个经过接口的报文按协议栈逐层拆开。eNSP 把 Wireshark 集成进了右键菜单不需要单独启动软件选对接口就能抓。这个实验最值得花时间的就是这一步亲眼看到 ICMP 请求报文从 PC1 出去再看到回答报文从 PC2 回来网络的工作原理才真正落地。4.1 数据抓包入口和接口选择右键 PC1在菜单里选“数据抓包”会弹出可用于抓包的接口列表。PC 一般只有一个以太网口在 eNSP 里显示为 E0/0/0选中它Wireshark 就会启动一个新的实例并开始捕获。有一个细节经常让人卡住抓包窗口打开后要先确认左下角状态栏是“捕获中”而不是“已停止”。如果状态不对接口选了也没用。接下来在 PC1 的命令行执行 ping制造流量。顺序一定是“先开抓包再敲命令”如果先 ping 完再开 Wireshark那一瞬间的报文已经过去了包列表自然空白。wireshark 打开后三面板布局分别是数据包列表、协议明细、十六进制字节区这三块在下文展开。4.2 Filter 过滤规则为什么必须小写、为什么要点 apply抓包结果里可能混着多种协议需要过滤。在菜单栏下方的 Filter 文本框里输入过滤条件这是显示过滤器针对已经抓下来的报文做筛选。实验里输入icmp再点 apply 或按回车列表里就只留下 ICMP 报文。注意协议名必须小写输入ICMP会提示语法无效过滤结果为空这是 Filter 语法大小写敏感的特性。不要试图在这里输入抓包过滤器两者作用机制不同显示过滤器简单得多。如果想看其他协议把icmp换成arp、tcp、udp即可这套规则在单独安装的 Wireshark 里同样适用。清除过滤器的话把文本框清空再按回车列表恢复全部报文。4.3 报文清单、协议明细和十六进制面板怎么配合看三个面板要搭配着看。顶部数据包列表显示每一帧的编号、时间、源地址、目的地址、协议类型、长度和信息摘要中部协议明细按封装层级展开底部是十六进制原始数据。展开中部明细从上到下正好是协议栈的逆序Frame 是物理帧Ethernet II 是数据链路层Internet Protocol Version 4 是网络层ICMP 是网络层之上的控制协议。实验中第一个问题的答案就在 ICMP 层ping 使用的是类型 8 的回送请求Echo Request和类型 0 的回送回答Echo Reply报文。展开 IP 层可以看到协议字段值为 1对应 ICMP源地址是 192.168.1.1目的地址是 192.168.1.2。展开 Ethernet IIType 字段值为 0x0800表示上层是 IPv4。所以第二个问题的答案也清晰了ICMP 的网络层协议是 IP数据链路层协议是 Ethernet II。字段长度说明Type8 位8 为回送请求0 为回送回答Code8 位通常为 0Checksum16 位对整个 ICMP 报文计算Identifier16 位用于匹配请求与回答Sequence16 位序号检测丢包和乱序展开 Ethernet II 还能看到帧结构目的 MAC 6 字节、源 MAC 6 字节、类型 2 字节、数据段 46 到 1500 字节、FCS 校验 4 字节。这个结构和实验附带的文档图完全对应。5. 避坑 / 常见问题eNSP 启动失败 40、抓包没流量和 ARP 缓存不更新的五个地雷这一章全是实际踩过的坑按现象、原因、解决三个步骤写照着排查基本能覆盖 eNSP 实验里八成以上的问题。这些问题分散在设备启动、链路状态、抓包过滤、ping 和 arp 几个环节里每一条都是新手最容易卡住半小时以上的地方。启动设备报“错误 40”或“AR1 启动失败”。现象点击启动后设备图标保持红色几秒后弹窗提示错误 40。原因eNSP 依赖 VirtualBox 和抓包驱动两者版本不匹配、驱动没装好、杀毒软件或防火墙拦截、没有以管理员权限运行都会触发同一个错误码。解决先确认 VirtualBox 版本是否匹配eNSP 一般要求配套的特定版本装最新版有时候反而启动不了然后右键 eNSP 图标选择“以管理员身份运行”安装 Npcap 时勾选兼容 WinPcap 的选项最后把杀毒软件和防火墙临时关掉再试。Win11 用户如果之前装过老版本卸载后要把安装目录和注册表残留清理干净。拓扑画完红点怎么都变不成绿点。现象连线上两个红点设备已启动链路状态仍是 Down。原因设备还在初始化或者只启动了 PC 没启动交换机也可能连接时选错了端口。解决用鼠标框选全部设备和连线右键一次性启动所有设备等设备图标右上角没有异常标记后再观察连线颜色如果还是不绿删掉连线两端重新拖线连接选端口时看清编号。注意红点并不代表配置错误它只是端口 Down 的状态灯链路真正建立后才会变绿。Wireshark 打开后包列表一片空白。现象点了“数据抓包”Wireshark 窗口也开了但一个包都看不到。原因接口选错了抓到了物理机网卡而不是 PC 的 E0/0/0或者抓包时没有人发 ping没有流量经过也可能 Filter 里输入的过滤条件非法把所有包都滤掉了。解决右键选接口时确认选的是 PC 的以太网口不是宿主机的物理网卡抓包窗口打开后在 PC1 命令行用ping -t制造持续流量先把 Filter 清空确认列表里有普通报文再输入icmp过滤。清空后能看到包说明链路和数据正常问题出在过滤条件上。ping 请求超时回显交替出现 Reply 和 Request timed out。现象PC1 ping PC2 时部分请求有回显部分超时偶尔连续丢包。原因IP 地址冲突、ARP 缓存过期重新解析都可能但在 eNSP 里最常见的是设备初始化未完成或抓包软件运行时占用资源导致丢包。解决用ping -t持续观察稳定性确认没有两台 PC 配成同一个 IP把 Wireshark 的过滤条件整理干净如果持续丢包重启三台 PC 和交换机再测一轮。eNSP 是虚拟环境偶发丢包不一定代表配置错误先重新抓包确认再动手改配置。arp -a 看不到新条目或缓存不更新。现象ping 明明通了PC1 上执行arp -a还是空或者显示的 MAC 地址是旧的。原因ARP 缓存有超时机制察看的时机不对或者没有先触发 ARP 请求。解决在 PC1 命令行先ping 192.168.1.2立刻再执行arp -a如果还是空先arp -d清空缓存再 ping 一次。想看完整的 ARP 报文交互在 Wireshark 的 Filter 里输入arp重新 ping会看到请求和回答各一条这个过程下一章详细展开。6. ARP 缓存和 ARP 报文一次抓包看懂地址解析的完整链路上一章抓了 ICMP但 ICMP 报文能发出去前提是 ARP 先把目的 MAC 地址找到。IP 地址负责跨网段寻址而真正在链路上传输帧靠的是 MAC 地址两者之间的映射就是 ARP 的职责。eNSP 实验特意设计了观察 ARP 缓存变化的步骤就是让人亲手验证这个映射关系的建立过程。下面的操作顺序很关键。arp -a ping 192.168.1.2 arp -a第一次arp -a看到的是 PC1 初始的 ARP 缓存通常只有本机条目甚至可能为空。执行 ping 之后PC1 发现 192.168.1.2 对应的 MAC 未知于是向广播地址发出一条 ARP 请求。PC2 收到请求后把自己的 MAC 地址单播回应给 PC1。立即再执行arp -a就能看到 192.168.1.2 对应一条 MAC 记录。这个过程在 Wireshark 里看得更清楚Filter 输入arp重新 ping会看到两个报文。第一条 ARP 请求的目的 MAC 是 FF-FF-FF-FF-FF-FF这是广播地址第二条 ARP 回答的目的 MAC 是 PC1 的 MAC是单播。一条广播、一条单播一个完整的地址解析就结束了。字段值说明硬件类型1以太网协议类型0x0800上层是 IPv4操作1 或 2请求为 1回答为 2发送方 MAC/IP源设备请求和回答各自填写目标 MAC/IP目标设备请求时目标 MAC 为全 0注意 ARP 和 ICMP 在封装层级的差别ICMP 先封装进 IPv4再由 Ethernet II 承载所以抓包明细里能看到 IP 层ARP 不经过 IP 层它的报文直接封装在 Ethernet II 里Type 字段是 0x0806。这个差别看一眼抓包明细就能区分也是理解协议栈分层的一个很好的样本。从那以后我每次做 eNSP 实验都强制把arp -a放在 ping 之前先跑一遍确认缓存状态后再从 Wireshark 里对照抓包这个习惯帮我少翻了很多次车。希望帮到你。本文还有配套的精品资源点击获取
返回列表