網吧網絡故障突發、面廣、影響大。Windows 內置命令行工具 ipconfig、ping、arp 是零成本、零依賴、最高頻的排查利器。本文將三大工具用法、輸出解讀、組合排查邏輯、自動化巡檢腳本一次講透。
ipconfig # 顯示所有適配器 IP/掩碼/網關 (精簡) ipconfig /all # 全量信息:MAC、DHCP 服務器、租期、DNS、WINS、IPv6 ipconfig /release # 釋放當前 DHCP 租約 ipconfig /renew # 重新申請 DHCP 租約 ipconfig /flushdns # 清理 DNS 緩存 (解析異常首選) ipconfig /displaydns # 查看 DNS 緩存條目 ipconfig /registerdns # 手動動態註冊 DNS (AD 域環境必備)
ipconfig /all 發現 IP 169.254.x.x → ipconfig /release && ipconfig /renew 恢復,或檢查 DHCP 服務/中繼/線路。ipconfig /flushdns + 更換 DNS (114.114.114.114/223.5.5.5) 解決。ping 192.168.1.1 # 基本連通 ping -t 192.168.1.1 # 持續 Ping (Ctrl+C 停止),觀察丟包/抖動 ping -n 100 192.168.1.1 # 指定次數統計丟包率 ping -l 1472 192.168.1.1 # 大包測試 MTU (1472+28=1500),-f 禁止分片 ping -a 192.168.1.1 # 解析主機名 ping -6 fe80::1%12 # IPv6 鏈路本地 (需加接口索引 %ifindex)
ping 127.0.0.1:本地協議棧正常?失敗 → 重裝 TCP/IP / 檢查防火牆/安全軟件攔截。ping 本機 IP:網卡/驅動/鏈路正常?失敗 → 換線/換口/更新驅動。ping 默認網關:局域網通暢?失敗 → 檢查交換機端口、VLAN、ACL、ARP、STP。ping 外網 IP (8.8.8.8) / 域名 (www.baidu.com):出口/路由/DNS 正常?失敗 → 檢查路由器 WAN、NAT、防火牆、運營商線路。ping -f -l 1472 目標 逐步減小直到不再提示「需要分片但設置 DF」,得出路徑 MTU。ping -6 ipv6.google.com 或 ping -6 2404:6800:4008:80b::200e。arp -a # 顯示全部 ARP 緩存 (動態+靜態) arp -a 192.168.1.1 # 顯示特定接口 ARP 表 arp -d # 清空動態 ARP 緩存 (需管理員) arp -d 192.168.1.100 # 刪除特定條目 arp -s 192.168.1.100 00-11-22-33-44-55 # 手動添加靜態 ARP (防 ARP 欺騙)
網關 IP → 攻擊者 MAC、受害者 IP → 攻擊者 MAC,實現中間人 (MITM)。arp -s 網關IP 網關MAC,永久生效 (重啟失效)。static_arp.bat 放入「啟動」文件夾:
@echo off arp -d arp -s 192.168.1.1 00-11-22-33-44-55 arp -s 192.168.1.2 66-77-88-99-AA-BB
<# 保存為 NetCheck.ps1,計劃任務每 5 分鐘運行 #>
$GW = "192.168.1.1"; $DNS = "114.114.114.114"; $EXT = "8.8.8.8"
$log = "C:\Logs\NetCheck_$(Get-Date -Format yyyyMMdd).log"
function Log { param($msg) Add-Content $log "$(Get-Date -Format 'HH:mm:ss') $msg" }
# 1. IPconfig 檢查
$nic = Get-NetIPConfiguration -ErrorAction SilentlyContinue | Where-Object {$_.IPv4DefaultGateway -ne $null}
if (-not $nic) { Log "ERROR: No IPv4 gateway found"; exit 1 }
Log "OK: IP=$($nic.IPv4Address.IPAddress) GW=$($nic.IPv4DefaultGateway.NextHop) DNS=$($nic.DNSServer.ServerAddresses)"
# 2. Ping 階梯測試
$targets = @("127.0.0.1", $nic.IPv4Address.IPAddress, $GW, $EXT, $DNS)
foreach ($t in $targets) {
$r = Test-Connection -ComputerName $t -Count 3 -Quiet -ErrorAction SilentlyContinue
Log $(if($r){"OK"}else{"FAIL"})": Ping $t"
if (-not $r -and $t -ne "127.0.0.1") { exit 1 }
}
# 3. ARP 檢查網關 MAC
$arp = Get-NetNeighbor -IPAddress $GW -ErrorAction SilentlyContinue
if ($arp.State -ne 'Reachable') { Log "WARN: Gateway ARP $($arp.State)"; exit 1 }
Log "OK: Gateway MAC $($arp.LinkLayerAddress)"
Log "=== ALL CHECKS PASSED ==="
exit 0
ipconfig 看配置、ping 通鏈路、arp 查二層。三條命令串起「物理→邏輯→路由→應用」完整鏈路。內化四步 Ping 法、掌握 ARP 靜態綁定持久化、部署自動化巡檢,讓網吧網絡故障「早發現、快定位、自愈合」。