網吧防黑之ARP防禦雙綁批處理篇

來源:互聯網
上載者:User
一:此批處理有缺陷,有時不能實現真正意義的雙綁!

@echo off
::讀取本機Mac地址
if exist ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt
if exist phyaddr.txt del phyaddr.txt
find "Physical Address" ipconfig.txt >phyaddr.txt
for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M
::讀取本機ip地址
if exist IPAddr.txt del IPaddr.txt
find "IP Address" ipconfig.txt >IPAddr.txt
for /f "skip=2 tokens=15" %%I in (IPAddr.txt) do set IP=%%I
::綁定本機IP地址和MAC地址
arp -s %IP% %Mac%
::讀取網關地址
if exist GateIP.txt del GateIP.txt
find "Default Gateway" ipconfig.txt >GateIP.txt
for /f "skip=2 tokens=13" %%G in (GateIP.txt) do set GateIP=%%G
::讀取網關Mac地址
if exist GateMac.txt del GateMac.txt
arp -a %GateIP% >GateMac.txt
for /f "skip=3 tokens=2" %%H in (GateMac.txt) do set GateMac=%%H
::綁定網關Mac和IP
arp -s %GateIP% %GateMac%
arp -s 網關IP 網關MAC
exit

這個批處理要查詢原生ARP 快取表,看裡面是不是有網關的IP和MAC,有則能成功

綁定,但是沒有的話就綁不定了!!!不過可以改進一下,達到雙綁的目的,比如

加上arp -s 網關IP 網關MAC一行就可以了。。。

二、這個也不能實現真正意義的雙綁,只能綁定本機IP和MAC(多謝中國DOS聯盟lxmxn提供)

@echo off
for /f "delims=: tokens=2" %%a in ('ipconfig /all^ find "Physical Address"') do set local_mac=%%a
for /f "delims=: tokens=2" %%a in ('ipconfig /all^ find "IP Address"') do set local_ip=%%a
for /f "delims=: tokens=2" %%a in ('ipconfig /all^ find "Default Gateway"') do set gate_ip=%%a
fo* /* %%* in ('getmac /nh /s %local_ip%') do set gate_mac=%%a
arp -s %local_ip% %local_mac%
arp -s %gate_ip% %gate_mac% (這個地方有問題,改進中……)


經測試,此批處理不能綁定網關IP和MAC,只能綁定本機IP和MAC

三、這個還不是很清楚,我要測試才行的,目前所知也能綁定本機IP和MAC

(多謝中國DOS聯盟everest79提供)

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
for /f "tokens=2 delims=[]=" %%i in ('nbtstat -a %COMPUTERNAME%') do call set local=!local!%%i
for /f "tokens=3" %%i in ('netstat -r^ find " 0.0.0.0"') do set gm=%%i
for /f "tokens=1,2" %%i in ('arp -a %gm%^ find /i /v "inter"') do set gate=%%i %%j
arp -s %gate%
arp -s %local%

arp -s 網關IP 網關MAC
這個批處理可以綁定網關IP和MAC,但是還是有缺陷,要依賴於本機上存在的ARP緩衝!
改進方法為在最後加一個arp -s 網關IP和MAC!

四、這個是一個兄弟的部落格上找到的,原理和第一個一樣,只是改進了一點點!

這個P通過ping網關三次得到了網關的MAC其實以上的批都可以通過這個來搞定網關的IP和MAC,
但是如果開機的時候正在發生ARP欺騙的話 這樣你綁的IP和MAC就是錯的,不能上網了。。

不過這種情況很少,發過來試一下先吧!

@echo off

:::::::::::::清除所有的ARP緩衝
arp -d

:::::::::::::讀取本地串連配置
ipconfig /all>ipconfig.txt

:::::::::::::讀取內網網關的IP
for /f "tokens=13" %%I in ('find "Default Gateway" ipconfig.txt') do set GatewayIP=%%I

:::::::::::::PING三次內網網關
ping %GatewayIP% -n 3

:::::::::::::讀取與網關arp緩衝
arp -a find "%GatewayIP%">arp.txt

:::::::::::::讀取網關MAC並綁定
for /f "tokens=1,2" %%I in ('find "%GatewayIP%" arp.txt') do if %%I==%GatewayIP% arp -s %%I %%J

:::::::::::::讀取原生 IP+MAC
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

:::::::::::::綁定原生 IP+MAC
arp -s %ip% %mac%

:::::::::::::刪除所有的臨時檔案
del ipconfig.txt
del arp.txt
exit

以上P可以配合路由上對客戶機的IP和MAC進行綁定實現完全防ARP,只是單綁下面機和網關IP及MAC
沒有多大用處,關於路由上面的,因為大家用的路由不一樣,所以這個就不寫了!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.