使用批處理文件防備ARP攻擊
發(fā)表時間:2023-07-16 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]通過偽造IP地址和MAC地址實現(xiàn)ARP欺騙, 能夠在網(wǎng)絡(luò)中產(chǎn)生大量的ARP通信量使網(wǎng)絡(luò)阻塞, 攻擊者只要持續(xù)不斷的發(fā)出偽造的ARP響應(yīng)包就能更改目標(biāo)主機(jī)ARP緩存中的IP-MAC條目, 造成網(wǎng)絡(luò)中斷...
通過偽造IP地址和MAC地址實現(xiàn)ARP欺騙, 能夠在網(wǎng)絡(luò)中產(chǎn)生大量的ARP通信量使網(wǎng)絡(luò)阻塞, 攻擊者只要持續(xù)不斷的發(fā)出偽造的ARP響應(yīng)包就能更改目標(biāo)主機(jī)ARP緩存中的IP-MAC條目, 造成網(wǎng)絡(luò)中斷或中間人攻擊。 本文介紹了四種利用自制批處理文件來防御ARP攻擊的方法。
一、把下面語句編成BAT處理文件就可以搞定
@echo off::讀取本機(jī)Mac地址if exist ipconfig.txt del ipconfig.txtipconfig /all >ipconfig.txtif exist phyaddr.txt del phyaddr.txtfind "Physical Address" ipconfig.txt >phyaddr.txtfor /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M::讀取本機(jī)ip地址if exist IPAddr.txt del IPaddr.txtfind "IP Address" ipconfig.txt >IPAddr.txtfor /f "skip=2 tokens=15" %%I in (IPAddr.txt) do set IP=%%I::綁定本機(jī)IP地址和MAC地址arp -s %IP% %Mac%::讀取網(wǎng)關(guān)地址if exist GateIP.txt del GateIP.txtfind "Default Gateway" ipconfig.txt >GateIP.txtfor /f "skip=2 tokens=13" %%G in (GateIP.txt) do set GateIP=%%G::讀取網(wǎng)關(guān)Mac地址if exist GateMac.txt del GateMac.txtarp -a %GateIP% >GateMac.txtfor /f "skip=3 tokens=2" %%H in (GateMac.txt) do set GateMac=%%H::綁定網(wǎng)關(guān)Mac和IParp -s %GateIP% %GateMac%arp -s 網(wǎng)關(guān)IP 網(wǎng)關(guān)MACexit
|
這個批處理要查詢本機(jī)的ARP 緩存表, 看里面是不是有網(wǎng)關(guān)的IP和MAC, 有則能成功
綁定, 但是沒有的話就綁不定了。!不過可以改進(jìn)一下, 達(dá)到雙綁的目的, 比如
加上arp -s 網(wǎng)關(guān)IP 網(wǎng)關(guān)MAC一行就可以了。 。 。
二、這個也不能實現(xiàn)真正意義的雙綁, 只能綁定本機(jī)IP和MAC
@echo offfor /f "delims=: tokens=2" %%a in (ipconfig /all^ find "Physical Address") do set local_mac=%%afor /f "delims=: tokens=2" %%a in (ipconfig /all^ find "IP Address") do set local_ip=%%afor /f "delims=: tokens=2" %%a in (ipconfig /all^ find "Default Gateway") do set gate_ip=%%afo* /* %%* in (getmac /nh /s %local_ip%) do set gate_mac=%%aarp -s %local_ip% %local_mac%arp -s %gate_ip% %gate_mac% (這個地方有問題, 改進(jìn)中……)
|
經(jīng)測試, 此批處理不能綁定網(wǎng)關(guān)IP和MAC, 只能綁定本機(jī)IP和MAC
三、這個還不是很清楚, 我要測試才行的, 目前所知也能綁定本機(jī)IP和MAC
@ECHO OFFSETLOCAL ENABLEDELAYEDEXPANSIONfor /f "tokens=2 delims=[]=" %%i in (nbtstat -a %COMPUTERNAME%) do call set local=!local!%%ifor /f "tokens=3" %%i in (netstat -r^ find " 0.0.0.0") do set gm=%%ifor /f "tokens=1,2" %%i in (arp -a %gm%^ find /i /v "inter") do set gate=%%i %%jarp -s %gate%arp -s %local%arp -s 網(wǎng)關(guān)IP 網(wǎng)關(guān)MAC
|
這個批處理可以綁定網(wǎng)關(guān)IP和MAC, 但是還是有缺陷, 要依賴于本機(jī)上存在的ARP緩存!
改進(jìn)方法為在最后加一個arp -s 網(wǎng)關(guān)IP和MAC!
四、原理和第一個一樣,只是改進(jìn)了一點(diǎn)點(diǎn)!
這個P通過ping網(wǎng)關(guān)三次得到了網(wǎng)關(guān)的MAC其實以上的批都可以通過這個來搞定網(wǎng)關(guān)的IP和MAC,
但是如果開機(jī)的時候正在發(fā)生ARP欺騙的話 這樣你綁的IP和MAC就是錯的, 不能上網(wǎng)了。
@echo off:::::::::::::清除所有的ARP緩存arp -d:::::::::::::讀取本地連接配置ipconfig /all>ipconfig.txt:::::::::::::讀取內(nèi)網(wǎng)網(wǎng)關(guān)的IPfor /f "tokens=13" %%I in (find "Default Gateway" ipconfig.txt) do set GatewayIP=%%I::::::::::::ING三次內(nèi)網(wǎng)網(wǎng)關(guān)ping %GatewayIP% -n 3:::::::::::::讀取與網(wǎng)關(guān)arp緩存arp -a find "%GatewayIP%">arp.txt:::::::::::::讀取網(wǎng)關(guān)MAC并綁定for /f "tokens=1,2" %%I in (find "%GatewayIP%" arp.txt) do if %%I==%GatewayIP% arp -s %%I %%J:::::::::::::讀取本機(jī)的 IP+MACfor /f "tokens=15" %%i in (find "IP Address" ipconfig.txt) do set ip=%%ifor /f "tokens=12" %%i in (find "Physical Address" ipconfig.txt) do set mac=%%i:::::::::::::綁定本機(jī)的 IP+MACarp -s %ip% %mac%:::::::::::::刪除所有的臨時文件del ipconfig.txtdel arp.txtexit
|
不過這種情況很少, 發(fā)過來試一下先吧!
以上P可以配合路由上對客戶機(jī)的IP和MAC進(jìn)行綁定實現(xiàn)完全防ARP, 只是單綁下面機(jī)和網(wǎng)關(guān)IP及MAC
沒有多大用處, 關(guān)于路由上面的, 因為大家用的路由不一樣, 所以這個就不寫了
上面是電腦上網(wǎng)安全的一些基礎(chǔ)常識,學(xué)習(xí)了安全知識,幾乎可以讓你免費(fèi)電腦中毒的煩擾。