简介:这是一份围绕华为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 有三个端口可用,分别承接三台终端。
| 源设备 | 源端口 | 目标设备 | 目标端口 |
|---|---|---|---|
| PC1 | e0/0/1 | LSW1 | e0/0/1 |
| PC2 | e0/0/1 | LSW1 | e0/0/2 |
| PC3 | e0/0/1 | LSW1 | e0/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 发包工具”四个标签页,实验用前两个。“基础配置”标签页里,主机名填 PC1;IPv4 配置区域选择“静态”;IP 地址填 192.168.1.1;子网掩码填 255.255.255.0。三台 PC 的完整配置建议如下。
| 设备 | 主机名 | IP 地址 | 子网掩码 |
|---|---|---|---|
| PC1 | PC1 | 192.168.1.1 | 255.255.255.0 |
| PC2 | PC2 | 192.168.1.2 | 255.255.255.0 |
| PC3 | PC3 | 192.168.1.3 | 255.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参数后就不间断发送,直到用户按 Ctrl+C 终止。回显信息要看懂再下结论。Reply from 192.168.1.2: bytes=32 time<1ms TTL=128表示通了;Request timed out表示超时;Destination host unreachable表示目标不可达。后两者的区别很关键:timeout 通常是这条链路没有任何响应,可能是设备没启动、IP 配错或者线没通;unreachable 是本地已经判断出目标不存在或不在同一网段,所以直接报错,问题通常出在寻址上。新手最容易把这两种情况混为一谈,排查方向就跟着错。
3.3 连通性验证矩阵:三台 PC 之间怎么测、怎么看
建议把三台 PC 的连通性完整测一遍:PC1 ping PC2,PC1 ping PC3,PC2 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 II,Type 字段值为 0x0800,表示上层是 IPv4。所以第二个问题的答案也清晰了:ICMP 的网络层协议是 IP,数据链路层协议是 Ethernet II。
| 字段 | 长度 | 说明 |
|---|---|---|
| Type | 8 位 | 8 为回送请求,0 为回送回答 |
| Code | 8 位 | 通常为 0 |
| Checksum | 16 位 | 对整个 ICMP 报文计算 |
| Identifier | 16 位 | 用于匹配请求与回答 |
| Sequence | 16 位 | 序号,检测丢包和乱序 |
展开 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 里对照抓包,这个习惯帮我少翻了很多次车。希望帮到你。
本文还有配套的精品资源,点击获取