萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 健康知識

網吧 ARP 防護雙綁批處理實戰:四版本演進與核心邏輯解析

ARP 欺騙與雙綁原理

ARP 欺騙通過偽造網關/客戶端 MAC 地址實現中間人攻擊。雙綁 = 客戶端綁定網關 IP-MAC + 網關綁定客戶端 IP-MAC,雙向固化映射關係,從源頭斷開欺騙鏈路。

四版本批處理演進分析

版本一:基礎版(依賴 ARP 緩存)

依次獲取本機 IP/MAC、網關 IP、查詢 ARP 緩存獲取網關 MAC,雙向 arp -s 靜態綁定。缺陷:若緩存無網關條目(如剛啟動、ARP 表被刷新),綁定失敗。修正:補充 arp -s 網關IP 網關MAC 直寫已知正確值。

版本二:優化解析版(仍有缺陷)

用 for /f 直接解析 ipconfig /all 與 getmac 獲取參數,代碼更緊湊。缺陷:getmac /s %local_ip% 邏輯錯誤,無法獲取網關 MAC,實測只能綁本機。

版本三:nbtstat+netstat 版(依賴緩存)

用 nbtstat -a %COMPUTERNAME% 獲取本機 MAC,netstat -r 獲取網關 IP,arp -a 獲取網關 MAC。缺陷:同樣依賴 ARP 緩存存在網關條目。

版本四:主動 Ping 刷新緩存版(推薦)

@echo off
arp -d                                    :: 清空 ARP 緩存
ipconfig /all > ipconfig.txt
for /f "tokens=13" %%I in ('find "Default Gateway" ipconfig.txt') do set GatewayIP=%%I
ping %GatewayIP% -n 3                     :: 主動觸發 ARP 請求/回應,刷新緩存
arp -a | find "%GatewayIP%" > arp.txt
for /f "tokens=1,2" %%I in ('find "%GatewayIP%" arp.txt') do if %%I==%GatewayIP% arp -s %%I %%J
for /f "tokens=15" %%i in ('find "IP Address" ipconfig.txt') do set ip=%%i
for /f "tokens=12" %%i in ('find "Physical Address" ipconfig.txt') do set mac=%%i
arp -s %ip% %mac%                         :: 綁定本機
arp -s 網關IP 網關MAC                     :: 兜底直寫已知正確網關映射
del ipconfig.txt & del arp.txt
exit

核心優勢:ping -n 3 強制刷新 ARP 緩存,確保能解析到網關 MAC;末尾兜底直寫已知正確網關映射(需預先獲取並維護),實現真正雙綁。

部署建議

  • 配合路由器/三層交換機下發綁定策略(IP-MAC-VLAN-Port 四綁),構建「端-網關-核心」三層防禦。
  • 異構網卡環境需適配 token 解析邏輯(中文系統 token 索引可能不同)。
  • 啟動項/組策略/計劃任務多點持久化部署,防止惡意軟體清除綁定。
  • 定期審計 ARP 表異常變更,聯動 NAC 隔離發起欺騙的端口。
copyright © 萬盛學電腦網 all rights reserved