首選要突破網關(GetWay),這很容易理解,因為一個內網要訪問internet總是必然通過網關接入的,至于怎樣突破網關,這和進入不是網關的服務器沒有什么兩樣,就不說了。
突破網關以后,我們的目標就是通過網關(IP為202.98.*.*)上網的192.168.21.75。以后的方法就是在網關力端口重定向,建立包轉發。端口重定向分兩種(local和remote),但是我們要進而內網,顯然不能用local方式的重定向,local方式的重定向主要用來繞過_blank">防火墻(關于這個問題我將在隨后單獨寫一篇文章來討論怎樣用端口重定向繞過_blank">防火墻)。
一、利用Fpipe建立端口重定向。
Fpipe是個非常有趣的東東。為了證明Fpipe的端口重定向功能,我們來做這樣的試驗。
首先在自己的機器上運行Fpipe,如下:
E:\tool\FPip>fpipe -l 80 -s 90 -r 80 202.98.177.162
FPipe v2.1 - TCP/UDP port redirector.
Copyright 2000 (c) by Foundstone, Inc.
http://www.foundstone.com
//解釋一下這個命令
fpipe -l 80 -s 90 -r 80 202.98.177.162
將到本機80端口的連接通過90端口連接到202.98.177.162的80端口。
一下是詳細語法:
FPipe [-hv?] [-brs ] IP
-?/-h - shows this help text
-c - maximum number of allowed simultaneous connections. Default is 32 #連接的最大數目,默認是32
-l - listening port number #要監聽的TCP端口號
-r - remote TCP port number #要定向到的IP主機的端口號
-s - outbound connection source port number #從哪個端口發出重定向信息
-v - verbose mode #詳細顯示過程
在上面的過程中,我們在自己的機器上建立了端口重定向:將到本機80端口的連接通過90端口連接到202.98.177.162的80端口
然后我們在瀏覽器中輸入:
http://127.0.0.1,結果發現昆明高新區的網頁打了,這說明我們的重定向成功。
此時fpipe現實了如下的內容:
Pipe connected:
In: 127.0.0.1:2092 --> 127.0.0.1:80
Out: 192.168.168.112:90 --> 202.98.177.162:80
從上面的輸出可以看出數據包經過的路徑(192.168.168.112是我的IP)
好了成功以后,下面的東西我不說大家也知道了,將Fpipe拷貝到我們控制的網關上,執行重定向:
fpipe -l 81 -s 91 -r 21 192.168.21.75 #在網關(202.98.*.*)執行,將到202.98.*.*的81端口的數據通過91端口轉發向192.168.21.75的21端口。同樣的:
fpipe -l 82 -s 92 -r 23 192.168.21.75 #將到202.98.*.*的82端口的數據通過92端口轉發向192.168.21.75的23端口
fpipe -l 83 -s 93 -r 80 192.168.21.75 #將到202.98.*.*的83端口的數據通過93端口轉發向192.168.21.75的80端口
fpipe -l 84 -s 94 -r 139 192.168.21.75 #將到202.98.*.*的84端口的數據通過94端口轉發向192.168.21.75的139端口
下面的你更應該知道了:
如果你在本機telnet到202.98.*.*的81就等價于你telnet到192.168.21.75的21,不對啊!192.168.21.75的21應該FTP上去才對啊(哈哈),那就ftp到202.98.*.*的81端口吧!
寫到這里我也忍不住喊“真牛…………真牛…………”
二、利用rinetd建立重定向。
方法和上面一樣。在網關上運行rineted,不過要建立個配置文件(文件名和擴展名隨意了在這里我以配置文件為conf.ini做例子說)
在本地用計事本建立如下內容的配置文件(其中的*不方便說,別找這寫哦!他的意思是將到202.98.*.* 的90的包轉發到192.168.21.75的80)
202.98.*.* 90 192.168.21.75 80
將他存為conf.ini文件然后和rineted拷貝到那個網關上(202.98.*.* ),然后
在網關上執行
rinetd -c conf.ini
然后你連接到202.98.*.* 90和連接到192.168.21.75 80的效果是一樣的。
順便說說rinetd配置文件的語法為
bindaddress bindport connectaddress connectport
寫在后面:
Fpipe和rineted是很牛的兩個工具,通常我是用這兩個工具來突破_blank">防火墻的,以后抽空說說這個問題。
什么什么,這兩個小東西在那下載(別懶了,自己找把):
http://www.boutell.com/rinetd/
http://www.foundstone.com
去看看吧!
責任編輯 趙毅 zhaoyi#51cto.com TEL:(010)68476636-8001


