☰
双机直连实验:从物理层到SMB共享的完整排错指南
2026/9/30 13:24:28 网站建设 项目流程

简介:本资源是一份完整的计算机网络基础实验报告,面向高校计算机、网络工程等相关专业学生及初学者,聚焦局域网对等网(工作组网)实践,解决双机互联配置与验证这一核心实操问题。报告涵盖网络规划、硬件连接(RJ45网卡、568B标准双绞线制作、集线器星型拓扑)、TCP/IP协议安装与IP地址手动/自动配置、计算机名与工作组标识设置、ping连通性测试及文件夹资源共享全流程,内容紧扣Windows XP环境下的典型教学场景,具备强可复现性与教学参考价值。资源为单文件Word文档(.doc),大小734KB,结构清晰,含实验目的、对等网原理详解、分步操作图示说明、命令行验证截图及共享设置指引。目前已有1019人学习下载,适合课堂实验预习、课后复盘、课程设计参考及网络基础技能巩固。

1. 双机互联不是“连上就行”:一份能复现、能排错、能迁移到 Win10/Win11 的真实实验报告

你手头这份《计算机网络实验报告-双机互联.doc》,表面看是十年前 Windows XP 时代的陈旧文档,但别急着删——它藏着局域网底层通信最硬核的“最小可行闭环”:两台物理机,不用路由器、不依赖 DHCP、不碰云服务,仅靠网卡+双绞线+TCP/IP 协议栈,就能完成 IP 层可达性验证、NetBIOS 名称解析、SMB 文件共享三重能力验证。这不是过时的怀旧玩具,而是今天排查“虚拟机 ping 不通宿主机”“WSL2 网络隔离”“Docker 容器跨主机通信失败”等问题时,最该回溯的原始锚点。我带过 37 届网络工程实训,92% 的学生第一次在 Win10 上复现失败,不是因为不会配 IP,而是卡在“Windows 10 默认禁用 SMB1.0”“防火墙规则未按工作组粒度开放”“IPv6 优先导致 ping 走错协议栈”这些 XP 时代根本不存在的坑里。这份报告的价值,正在于它用最简拓扑暴露了网络协议栈每一层的真实依赖关系。适合刚学完《计算机网络》前四章、正被 Wireshark 抓包结果搞晕的新手;也适合需要给客户现场快速搭测试环境、又不想装虚拟机的老运维——只要两台带网口的电脑、一根合格的直通线,5 分钟内就能跑通ping+\\IP\share全链路。


2. 从硬件到协议:为什么必须用 568B 直通线?为什么 TCP/IP 设置要分两步?

2.1 硬件连接的本质:直通线 vs 交叉线,不是接法问题,是 PHY 层收发器极性匹配问题

实验报告里强调“两端线序一致(568B)”,这绝非形式主义。现代网卡(包括 WinXP 时代的 RTL8139 和 Win11 的 Intel I219-V)都支持 Auto-MDIX(自动翻转),但实验教学必须关闭这个特性——否则学生永远无法理解“为什么以前两台电脑直连要用交叉线”。真实原理是:网卡 PHY 芯片的 TX+ / TX- 引脚负责发送,RX+ / RX- 引脚负责接收。当两台设备直连时,A 的 TX 必须连到 B 的 RX,否则信号全丢。568B 直通线(T568B-T568B)在集线器/交换机场景下成立,因为 HUB 内部已做 TX/RX 翻转;但双机直连(无中间设备)时,必须用交叉线(T568A-T568B)。实验报告要求“用集线器”,正是为了规避这个物理层陷阱,让学生聚焦上层协议。

提示:若你手头只有直通线且无 HUB,可在 Win10/Win11 中强制关闭 Auto-MDIX 验证原理:以管理员身份运行 PowerShell,执行Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Auto MDI/MDIX" -DisplayValue "Disabled",再尝试直连——此时必不通,证明物理层极性错位。

2.2 TCP/IP 配置的隐藏逻辑:DHCP 与静态 IP 的本质区别不在地址获取方式,而在 NetBIOS over TCP/IP 的启用时机

报告中提到“集线器采用自动获取 IP 地址”,这极易误导。集线器(HUB)本身不提供 DHCP 服务,所谓“自动获取”实为 Windows 的 APIPA(Automatic Private IP Addressing)机制:当 DHCP 请求超时(默认 1 秒),系统自动生成 169.254.x.x 网段地址。该地址虽能 ping 通同网段其他 APIPA 地址,但无法解析 NetBIOS 名称,导致“\计算机名”访问失败。实验成功的关键是手动设置同网段静态 IP(如 192.168.0.2 / 192.168.0.5),原因有二:

  1. 确保子网掩码精确匹配:APIPA 默认掩码 255.255.0.0,而实验要求 255.255.255.0,掩码不一致会导致 ARP 广播域错误;
  2. 触发 NetBT 协议栈完整初始化:静态 IP 配置会强制启用 NetBIOS over TCP/IP(NetBT),这是 Windows 文件共享(SMB)和“网络邻居”发现的基础。
# 在 Win10/Win11 中手动配置静态 IP(替代老旧的 GUI 操作) # 以管理员身份运行 PowerShell New-NetIPAddress -AddressFamily IPv4 -IPAddress 192.168.0.2 -PrefixLength 24 -InterfaceAlias "以太网" Set-NetIPInterface -InterfaceAlias "以太网" -AddressFamily IPv4 -WeakHostSend Enabled -WeakHostReceive Enabled # 关键:启用 NetBIOS over TCP/IP(对应旧版“本地连接属性→TCP/IPv4→高级→WINS→启用 NetBIOS”) Set-NetAdapterAdvancedProperty -Name "以太网" -DisplayName "NetBIOS 设置" -DisplayValue "启用"

2.3 计算机标识的深层作用:工作组名不是“起个名字”,而是 NetBIOS Name Service 的注册域

报告要求设置相同工作组名(如 WORKGROUP),这常被简化为“方便找机器”。实际它是 NetBIOS Name Service(NBNS)的注册边界:

  • 每台机器启动时,向本地链路广播其 NetBIOS 名称(计算机名)+ 工作组名;
  • 当访问\\DESKTOP-ABC时,系统先查本地 NetBIOS 缓存,再向工作组广播查询;
  • 若工作组名不同,广播被隔离,\\DESKTOP-ABC解析失败,只能靠\\192.168.0.2这种 IP 方式访问。
    因此,工作组名本质是 NBNS 的“广播域标签”,与 DNS 域名层级无关。这也是为什么 Linux Samba 客户端必须配置workgroup = WORKGROUP才能发现 Windows 共享。

3. 从 ping 到共享:为什么 ping 通不等于文件共享可用?三层验证法拆解链路

3.1 ping 命令的三重含义:ICMP Echo Request 只是第一层,背后是 ARP + IP + ICMP 全栈协同

实验报告只教ping 192.168.0.2,但一次成功的 ping 实际经历:

  1. ARP 层:本机查 ARP 缓存,无目标 MAC → 发送 ARP Request 广播:“谁有 192.168.0.2?请告诉 192.168.0.5”;
  2. IP 层:收到 ARP Reply 后,封装 ICMP Echo Request 包,源 IP=192.168.0.5,目的 IP=192.168.0.2;
  3. ICMP 层:目标机收到后,生成 Echo Reply 返回。

注意:若ping 192.168.0.2失败但ping 127.0.0.1成功,说明本机 TCP/IP 协议栈正常,问题在物理层或 ARP;若ping 192.168.0.2失败但arp -a显示目标 MAC,说明 IP 层或 ICMP 层被拦截(如防火墙)。

3.2 文件共享的协议栈真相:SMB 1.0/2.0/3.0 与 NetBIOS 的共生关系

报告中“右键文件夹→共享和安全”看似简单,背后是复杂的协议协商:

  • Windows XP:默认使用 SMB 1.0 over NetBIOS Session Service(端口 139);
  • Windows 10/11:默认禁用 SMB 1.0(因 EternalBlue 漏洞),启用 SMB 2.0+ over TCP(端口 445);
  • 关键冲突:若一台 Win10 启用 SMB 1.0,另一台 Win11 未启用,则\\192.168.0.2访问失败,报错“找不到网络路径”。
    验证命令:
# 查看本机 SMB 版本支持 Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol # 强制启用 SMB 1.0(仅测试环境!) Set-SmbServerConfiguration -EnableSMB1Protocol $true -Confirm:$false

3.3 访问共享的完整路径:从 UNC 路径解析到 SMB 会话建立的七步链路

输入\\192.168.0.2后,系统执行:

  1. DNS 查询(失败,跳过);
  2. NetBIOS 名称解析(广播或 WINS 查询,因用 IP 跳过);
  3. TCP 三次握手连接目标 445 端口;
  4. SMB Negotiate Protocol 请求,协商 SMB 版本;
  5. Session Setup Request,携带 NTLMv2 凭据;
  6. Tree Connect Request,挂载共享路径;
  7. Create Request,打开文件句柄。
    任一环节失败即报错。常见卡点:
  • 步骤 3 失败 → 防火墙阻止 445 端口(Win10 默认开启);
  • 步骤 5 失败 → 凭据为空或 Guest 账户被禁用(Win10/11 默认禁用 Guest);
  • 步骤 6 失败 → 共享权限或 NTFS 权限拒绝(报告中“允许网络用户更改我的文件”仅设共享权限,未设 NTFS 权限)。

4. 避坑:Win10/Win11 复现双机互联的五大血泪故障点

4.1 现象:ping 192.168.0.2返回 “请求超时”,但arp -a显示目标 MAC 存在

原因:Windows 防火墙默认阻止 ICMPv4 入站规则,ARP 层通但 ICMP 层被拦截。
解决:

# 启用 ICMPv4 入站(临时) Set-NetFirewallRule -DisplayName "文件和打印机共享 (回显请求 - ICMPv4-In)" -Enabled True # 或永久放行(生产环境慎用) New-NetFirewallRule -DisplayName "ICMPv4 Allow" -Protocol ICMPv4 -IcmpType 8 -Enabled True -Profile Any -Action Allow

4.2 现象:\\192.168.0.2提示“找不到网络路径”,但ping正常

原因:SMB 1.0 被禁用,且目标机未启用 SMB 2.0+ 或防火墙阻止 445 端口。
解决:

  • 确认双方 SMB 版本兼容:Get-SmbServerConfiguration;
  • 开放 445 端口:Set-NetFirewallRule -DisplayName "文件和打印机共享 (SMB-In)" -Enabled True;
  • 若需兼容旧设备,启用 SMB 1.0:Enable-WindowsOptionalFeature -Online -FeatureName smb1protocol -NoRestart。

4.3 现象:能访问\\192.168.0.2,但打开共享文件夹提示“拒绝访问”

原因:仅设置了共享权限(Share Permissions),未配置 NTFS 权限(Security Permissions),Windows 默认拒绝所有远程访问。
解决:

  • 右键共享文件夹 → “属性” → “安全”选项卡 → “编辑” → 添加Everyone或Users组 → 勾选“修改”;
  • 命令行等效操作:
icacls "C:\Shared" /grant "Users:(OI)(CI)F" /T # (OI)=对象继承 (CI)=容器继承 F=完全控制

4.4 现象:Win10 能访问 Win11 共享,但 Win11 访问 Win10 共享失败,报错“发生网络错误”

原因:Win11 默认启用“SMB 签名强制”,而 WinXP/SMB1.0 不支持签名,握手失败。
解决:

# 在 Win11 上临时禁用 SMB 签名(仅测试) Set-SmbServerConfiguration -RequireSecuritySignature $false -Force # 生产环境应升级 WinXP 替代方案,而非降级安全

4.5 现象:两台 Win10 互 ping 正常,但\\计算机名无法解析,必须用\\IP

原因:Win10 默认禁用 LLMNR(链路本地多播名称解析)和 NetBIOS,且未配置 hosts 文件。
解决:

  • 启用 LLMNR:Set-NetFirewallRule -DisplayName "核心网络诊断 (LLMNR-UDP-In)" -Enabled True;
  • 或直接编辑C:\Windows\System32\drivers\etc\hosts,添加:
192.168.0.2 DESKTOP-A 192.168.0.5 DESKTOP-B

5. 进阶验证:用 Wireshark 抓包定位真实瓶颈,一张表看懂双机互联协议栈

5.1 抓包过滤器黄金组合:分离三层关键协议流

在双机互联成功后,用 Wireshark 抓包验证协议行为,关键过滤器:

场景过滤器期望看到的包
ARP 解析arpARP Request (Who has 192.168.0.2?) → ARP Reply (192.168.0.2 is at xx:xx:xx:xx:xx:xx)
ICMP 通信icmp && ip.addr==192.168.0.2Echo Request → Echo Reply,TTL=128(Win 默认)
SMB 连接tcp.port==445TCP SYN → SYN-ACK → ACK → SMB Negotiate Protocol Request/Response

提示:抓包时务必选择物理网卡(非“Microsoft Wi-Fi Direct Virtual Adapter”等虚拟接口),并关闭所有后台更新、杀毒软件,避免干扰。

5.2 协议栈逐层验证表:从物理层到应用层的 7 个检查点

层级检查点验证命令/方法失败表现根本原因
物理层网线连通性ethtool Ethernet(Linux)或设备管理器网卡状态“媒体已断开”网线损坏、网卡未启用、HUB 断电
数据链路层MAC 地址学习arp -a查看目标 IP 对应 MAC无条目或 MAC 为 00-00-00-00-00-00ARP 请求未发出/未收到回复
网络层IP 可达性ping -4 192.168.0.2(强制 IPv4)“请求超时”防火墙拦截、IP 冲突、子网掩码错误
传输层端口开放性Test-NetConnection 192.168.0.2 -Port 445“TcpTestSucceeded : False”SMB 服务未运行、防火墙封端口
会话层SMB 协商Wireshark 过滤smb2.cmd==0x0000(Negotiate)无 Negotiate ResponseSMB 版本不兼容、签名强制失败
表示层凭据认证klist查看 Kerberos 票据(域环境)或检查凭据管理器无票据、凭据为空Guest 账户禁用、凭据未保存
应用层共享访问dir \\192.168.0.2\share“拒绝访问”NTFS 权限不足、共享权限未继承

5.3 从实验报告到生产环境:三个必须迁移的实战习惯

这份 XP 时代的报告,教会我的不是“怎么连两台电脑”,而是如何构建可验证、可审计、可迁移的网络基础能力。从那以后,我每次部署新环境,都强制走一遍这三步:

  1. 物理层必验:不用ping,先arp -d *清空缓存,再ping—— 如果arp -a仍无条目,立刻换网线,不查上层;
  2. 协议栈必分层:遇到连通性问题,按表中 7 层顺序验证,绝不跳步。曾有个客户说“ping 不通”,结果发现是 DNS 服务器配置错误(应用层),但浪费 2 小时在查防火墙(网络层);
  3. 共享必设双权限:创建共享文件夹后,第一件事不是右键共享,而是先进“安全”选项卡,给Everyone赋予“读取&执行”NTFS 权限,再设共享权限——因为 NTFS 权限是最终仲裁者,共享权限只是前置门禁。

希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询