ARP 欺騙通過偽造網關/客戶端 MAC 地址實現中間人攻擊。雙綁 = 客戶端綁定網關 IP-MAC + 網關綁定客戶端 IP-MAC,雙向固化映射關係,從源頭斷開欺騙鏈路。
依次獲取本機 IP/MAC、網關 IP、查詢 ARP 緩存獲取網關 MAC,雙向 arp -s 靜態綁定。缺陷:若緩存無網關條目(如剛啟動、ARP 表被刷新),綁定失敗。修正:補充 arp -s 網關IP 網關MAC 直寫已知正確值。
用 for /f 直接解析 ipconfig /all 與 getmac 獲取參數,代碼更緊湊。缺陷:getmac /s %local_ip% 邏輯錯誤,無法獲取網關 MAC,實測只能綁本機。
用 nbtstat -a %COMPUTERNAME% 獲取本機 MAC,netstat -r 獲取網關 IP,arp -a 獲取網關 MAC。缺陷:同樣依賴 ARP 緩存存在網關條目。
@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;末尾兜底直寫已知正確網關映射(需預先獲取並維護),實現真正雙綁。