端口重定向

网络技术中,端口(Port)有好几种意思。集线器、交换机、路由器的端口指的是连接其他网络设备的接口,如RJ-45端口、Serial端口等。我们 这里所指的端口不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。

端口重定向,顾名思义就是把端口号重新定义,设置成其他的,我们所熟知的web默认的端口是80,ftp默认的端口是21,dns默认的端口是53,如果我们不想用默认的端口号,或者出于其他的考虑(比如我们只希望一些人访问而其他人不允许访问)想使用81号端口作为web的访问端口.这时候就需要重定向了.在访问网页我们一般不需要加上端口号,是由于他们默认的端口均是80,如果它不是80的话,就应该加上端口了,比如:http://www.******.com:81

 

突破网关进入内网‍

‍首选要突破网关(GetWay),这很容易理解,因为一个内网要访问internet总是必然通过网关接入的,至于怎样突破网关,这和进入不是网关的服务器没有什么两样,就不说了。 

 

突破网关以后,我们的目标就是通过网关(IP为202.98.*.*)上网的192.168.21.75。以后的方法就是在网关力端口重定向,建立包转发。端口重定向分两种(local和remote),但是我们要进而内网,显然不能用local方式的重定向,local方式的重定向主要用来绕过防火墙(关于这个问题我将在随后单独写一篇文章来讨论怎样用端口重定向绕过防火墙)。 

一、利用Fpipe建立端口重定向 

Fpipe是个非常有趣的东东。为了证明Fpipe的端口重定向功能,我们来做这样的试验。 

首先在自己的机器上运行Fpipe,如下: 

E:toolFPip>fpipe -l 80 -s 90 -r 80 202.98.177.162 

FPipe v2.1 – TCP/UDP port redirector. 

Copyright 2000 (c) by Foundstone, Inc. 

//解释一下这个命令 

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

zhaoan

一个不起眼的IT工作者,从事过的行业较多,医疗保健、医院、月子会所、机电、重卡、软件,涉及的岗位也较多,零售、市场、平面设计、网站设计、UI设计、前端开发、后端开发、网络布线、设备维护、服务器维护、网络推广、网站运营、新媒体运营、部门管理等等,每个岗位工作基本都能独立完成,但是涉及面广导致都不精通,学习还在继续中。。。

You may also like...