ADSL共用上網有兩種方式,一種是代理,一種是地址翻譯(NAT),大家常說的路由方式其實就
是NAT方式,其實路由和NAT的原理還是有區別的,這裡不作討論,現在的ADSL貓一般都有NAT的
功能,用它本身的功能實現共用上網是比經濟方便,本文主要討論這種方式。轉
要想阻斷一台以上的電腦上網必須能發現共用後邊的機器是否多於一台,NAT的工作原理如圖
一所示,經過NAT轉換後訪問外網的內網的電腦的地址都變成了192.168.0.1而且MAC地址也轉
換成了ADSL的MAC地址,也就是說,從原理上講,直接在ADSL出口抓經過NAT轉換的包是不能發
現到底有幾台機器在上網。那是如何發現的呢?經過研究發現它是採用多種方法探測使用者是否
用共用方式上網,從而進行限制,下面分別進行破解:
一.檢查同一IP地址的資料包中是否有不同的MAC地址,如果是則判定使用者共用上網。破解的辦
法是把每台機的MAC地址改為一樣.修改的方法如下:
首先要擷取原生MAC:MAC地址是固化在網卡上串列EEPROM中的物理地址,通常有48位長。以
太網交換器根據某條資訊包頭中的MAC源地址和MAC目的地址實現包的交換和傳遞。
⑴在Windows 98/Me中,依次單擊“開始”→“運行” →輸入“winipcfg”→斷行符號。
⑵在Windows 2000/XP中,依次單擊“開始”→“運行”→輸入“CMD”→斷行符號→輸入
“ipconfig /all”→斷行符號。
或者右鍵本地串連表徵圖、選擇狀態然後點擊支援選項卡,這裡“詳細資料”中包含有MAC和其它
重要網路參數。
1、如果你的網卡驅動有直接提供複製MAC地址功能,如RealTek公司出的RTL8139晶片,那恭喜你
了,點擊“開始→設定→控制台”,雙擊“網路和撥號連線”,右鍵點擊需要修改MAC地址的
網卡表徵圖,並選擇“屬性”。在“常規”選項卡中,點擊“配置”按鈕,點擊“進階”選項卡
。在“屬性”區,你應該可以看到一個稱作 “Network Address”或“Locally Administered
Address”的項目,點擊它,在右側“值”的下方,輸入你要指定的MAC地址值。要連續輸入12
個數字或字母,不要在其間輸入“-”。重新啟動一次系統後設定就會生效了(Windows 98和
Windows 2000/XP使用者操作略有區別,請參照系統說明操作)
2、如果你的網卡驅動沒有提供複製MAC地址功能,那下面分別提供一些方法,希望能找到一個適
合你的
WIN98下:
a.在網路位置表徵圖上點右鍵,選擇屬性,出來一個網路對話方塊,在配置框中,雙擊你要修改的
網卡,出來一個網卡屬性對話方塊。在進階選項中,也是點擊屬性標識下的Network Address項,
在右邊的兩個單選項中選擇上面一個,再在框中輸入你要修改的網卡MAC地址,點確定後,系統
會提示你重新啟動。重新啟動後,你的網卡地址就告修改成功!!
b.點擊“開始→運行”,鍵入“winipcfg”,選擇你要修改的網卡,並記錄MAC地址值。點擊“
開始→運行”,輸入“regedit”運行登錄編輯程式(在修改註冊表前,一定要先備份註冊表)
,依據註冊表樹狀結構,依次找到
“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net”,你會看到類似
“0000”、“0001”、“0002”等樣子的子鍵。從“0000”子鍵開始點擊,依次尋找子鍵下的
“DriverDesc” 鍵的內容,直到找到與我們尋找的目標完全相同的網卡註冊表資訊為止。
當找到正確的網卡後,點擊下拉式菜單“編輯→建立→字串”,串的名稱為
“networkaddress”,在建立的“networkaddress”串名稱上雙擊滑鼠,就可以輸入數值了。
輸入你指定的新的MAC地址值。新的MAC地址應該是一個12位的數字或字母,其間沒有“-”,類
似“00C095ECB761”的樣子。
有兩種方法啟用新的MAC地址:
如果你使用的是普通內建網卡,就必須重新啟動電腦來使修改生效。
如果你使用的是PCMCIA卡,你可以按照下面的步驟操作而不必重新啟動作業系統:運行
winipcfg,選擇並釋放DHCP設定,關閉winipcfg。開啟控制台或系統托盤“PC Card
(PCMCIA)”,停止並彈出PCMCIA網卡。重新插入PCMCIA網卡,開啟winipcfg,選擇並重新整理DHCP
設定,運行winipcfg,確定修改的MAC地址已生效
WIN2000下:
a.在案頭上網路位置表徵圖上點右鍵,選屬性,在出來的網路和撥號連線視窗中一般有兩個表徵圖
,一個是建立串連表徵圖,一個是我的串連表徵圖。如果你的機器上有兩個網卡的話,那就有三個
表徵圖了。如果你只有一個網卡,那就在我的串連表徵圖上點右鍵,選屬性,會出來一個我的串連
屬性的視窗。在圖口上部有一個串連時使用:的標識,下面就是你機器上的網卡型號了。在下
面有一個配置按鈕,點擊該按鈕後就進入了網卡的屬性對話方塊了,這個對話方塊中有五個屬性頁面
,點擊第二項進階頁,在屬性標識下有兩項:一個是Link Speed/Duplex Mode,這是設定網卡工
作速率的,我們需要改的是下面一個Network Address,點擊該項,在對話方塊右邊的值標識下有
兩個單選項,預設得是不存在 ,我們只要選中上面一個單選項,然後在右邊的框中輸入你想改
的網卡MAC地址,點確定,等待一會兒,網卡地址就改好了,你甚至不用停用網卡!
你也可以在設定管理員中,開啟網卡的屬性頁面來修改,效果一樣。
b.1.在“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\4D36E972-E325-
11CE-BFC1-08002BE10318\0000、0001、0002”等主鍵下, 因為你有可能安裝了不止一塊網
卡,所以在這個主鍵下饃能會有多個類似於“0000、0001”的主鍵,這時候你可以尋找
DriverDesc內容為你要修改的網卡的描述相吻合的主鍵,如“0000”。
2.在上面提到的主鍵下,添一個字串,名字為“NetworkAddress”,把它的值設為你要的MAC
地址,要連續寫如“001010101010”。
3.然後到主鍵下“NDI\params”中添加一項“NetworkAddress”的主索引值,在該主鍵下添加名
為“default”的字串,值寫要設的MAC地址,要連續寫,如“001010101010”。
【注】實際上這隻是設定在後面提到的進階屬性中的“初始值”,實際使用的MAC地址還是取決
於在第2點中提到的“NetworkAddress”參數,而且一旦設定後,以後進階屬性中值就是
“NetworkAddress”給出的值而非“default”給出的了。
4.在“NetworkAddress”的主鍵下繼續添加名為“ParamDesc”的字串,其作用為指定
“NetworkAddress”主鍵的描述,其值可為“MAC Address”(也可以隨意設定,這隻是個描述
,無關緊要,這個值將會在你以後直接修改MAC地址的時候作為描述出現),這樣重新啟動一次
以後開啟近端分享的屬性,雙擊相應網卡項會發現有一個進階設定,其下存在MAC Address (就
是你在前面設定的ParamDesc,如圖(^29041103a^)1)的選項,這就是你在第二步裡在註冊表中
加的新項“NetworkAddress”,以後只要在此修改MAC地址就可以了。
5.關閉登錄編輯程式,重新啟動,你的網卡地址已經改好了。開啟近端分享的屬性,雙擊相應
網卡項會發現有一個MAC Address的進階設定項。用於直接修改MAC地址,而且不需要重新啟動
就可以實現MAC的隨時更改。
WinXP下
大部分的網卡都可以通過在控制台中修改網卡屬性來更改其MAC地址。在“裝置管理員中”,
右鍵點擊需要修改MAC地址的網卡表徵圖,並選擇“屬性/進階”選項卡。在“屬性”區,就可以
看到一個稱作“Network Address”或其他相類似名字的的項目,點擊它,在右側“值”的下方
,輸入要指定的MAC地址值。要連續輸入12個十六進位數字或字母,不要在其間輸入“-”。
另外有幾個可以修改MAC的軟體都可以在XP/W2K下運行,大家可以去網上搜下,所以這裡就不詳細
介紹了
linux下
需要用 #ifconfig eth0 down 先把網卡禁用 ,再用ifconfig eth0 hw ether 1234567890ab ,
這樣就可以改成功了
要想永久改,就在/etc/rc.d/rc.local裡加上這三句(也可在/etc/init.d/network裡加下面三行
)
ifconfig eth0 down
ifconfig eth0 hw ether 1234567890ab
ifconfig eth0 up
如果你想把網卡的MAC地址恢複原樣,只要再次把Network Address項右邊的單選項選擇為下面
一個沒有顯示再重新啟動即可。在WIN2000下面是選擇不存在,當然也不用重新啟動了。
二、通過SNMP(簡易網路管理通訊協定)來發現多機共用上網。有些路由器和ADSL貓內建SNMP服務
,通過掃描軟體(ipscan、superscan......)掃描一下,發現開著161連接埠,161是SNMP(簡單網
絡管理協議)的服務連接埠,難道是通過SNMP協議發現的主機數量,用xscan對貓進行了漏洞掃描
,果然有預設密碼,登陸到貓的管理介面但是找不到關閉SNMP服務的地方,看來是留的後門,
由此基本可斷定是通過SNMP協議發現的主機數。為了進一步證實,用SNMP的一個管理軟體
ActiveSNMP查看ADSL貓的串連情況,如圖二所示,可以清楚地看出通過SNMP協議可以發現同時上
網的主機數量。
解決辦法:
1.如果該貓可以關閉SNMP協議,那就把SNMP用的161連接埠禁止就行了.使用路由器或開啟ADSL貓的
路由模式共用上網的朋友可以進入管理介面有關閉SNMP選項的關掉它。如果貓的管理介面無關
閉SNMP選項的只好買一個沒有SNMP服務的路由器,例如TP-LINK TL-R400,放到adsl moden和
hub中間,如下圖.在該路由器中再做一個NAT服務,這樣進到ADSL貓中的就是一個地址,這樣就
解決了共用上網。 注意在路由器中要關閉SNMP協議。
2.修改設定檔,可以將配置轉換成一個檔案,用二進位編輯工具修改預設密碼,然後再載入
到貓中,這隻是一種思路,沒有試過
三、監測並發的連接埠數,並發連接埠多於設定數判定為共用。
這是一個令人哭笑不得的設定,“網路尖兵”不停掃描使用者開啟的連接埠數,多於設定值的就判
斷是共用,有時連按幾次F5鍵它是認為是共用,連單使用者上網也受到了影響,這個就沒法破解
了(除非你把網路尖兵黑了),俺這裡的解決辦法是裝成無辜的使用者到ISP的客服電話大罵,並聲
明搞不好就換ISP,一會兒網路就正常了。
四、“網路尖兵”還使用了未知的方法從共用的電腦中探測到共用的資訊,目前解決的辦法
是所有共用的客戶機均要安裝防火牆,把安全的層級設為最高,因條件有限,只試用了幾種防
火牆,發覺金山網鏢V(http://www.gz-pet.com/Soft_Show.asp?SoftID=10)有用,把IP配置規則
裡面所有的允許別人訪問本機規則統統不要,允許PING本機不要,防止ICMP,IGMP攻擊也要勾選
。如果是WINXP,要開啟網卡的網路防火牆。
採取以上破解的辦法後,在自己的區域網路不能看到本機,而且WINXP開啟網卡的網路防火牆後,
在QQ不能傳送檔案,網速有所減慢,但總算又可以共用了,如果有好的辦法,也請大家告知。
總的來說,“網路尖兵”還是一個不成熟的產品,主要是他對單使用者上網也產生影響,瀏覽網
頁經常要重新整理幾次,有的網頁比較複雜,要調用幾個伺服器檔案時它也當你是共用,造成網頁
部分不能顯示。並且由於“網路尖兵”不停掃描使用者連接埠佔用頻寬,導致網速變慢