精华内容
下载资源
问答
  • 本文总结了Linux端口转发的一些常用方法 1. SSH 端口转发 SSH 提供了一个非常有意思的功能,就是端口转发,它能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务。 (1) ...
    在一些实际的场景里,我们需要通过利用一些端口转发工具,比如系统自带的命令行工具或第三方小软件,来绕过网络访问限制触及目标系统。本文总结了Linux端口转发的一些常用方法

    1. SSH 端口转发

    SSH 提供了一个非常有意思的功能,就是端口转发,它能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务。

    (1) 本地端口转发

    ssh -fgN -L 2222:localhost:22 localhost

    (2) 远程端口转发

    ssh -fgN -R 2222:host1:22 localhost 

    (3) 动态转发

    ssh -fgN -D 12345 root@host1 

    2. iptables 端口转发

    CentOS 7.0 以下使用的是iptables,可以通过iptables实现数据包的转发

    (1) 开启数据转发功能

    vi /etc/sysctl.conf    
      #增加一行 net.ipv4.ip_forward=1 
    //使数据转发功能生效 
    sysctl -p 
    

    (2)将本地的端口转发到本机端口

    iptables -t nat -A PREROUTING -p tcp --dport 2222 -j REDIRECT --to-port 22 

    (3)将本机的端口转发到其他机器

    iptables -t nat -A PREROUTING -d 192.168.172.130 -p tcp --dport 8000 -j DNAT --to-destination 192.168.172.131:80 
    iptables -t nat -A POSTROUTING -d 192.168.172.131 -p tcp --dport 80 -j SNAT --to 192.168.172.130 
     
    #清空nat表的所有链 
    iptables -t nat -F PREROUTING 
    
    

    3. firewall 端口转发

    CentOS 7.0以上使用的是firewall,通过命令行配置实现端口转发。

    (1) 开启伪装IP

    firewall-cmd --permanent --add-masquerade 

    (2) 配置端口转发,将到达本机的12345端口的访问转发到另一台服务器的22端口。

    firewall-cmd --permanent --add-forward-port=port=12345:proto=tcp:toaddr=192.168.172.131:toport=22

    (3) 重新载入,使其失效

    firewall-cmd --reload 

    4. rinetd 端口转发

    rinetd是一个轻量级TCP转发工具,简单配置就可以实现端口映射/转发/重定向。

    (1) 源码下载

    wget https://li.nux.ro/download/nux/misc/el7/x86_64/rinetd-0.62-9.el7.nux.x86_64.rpm

    (2) 安装rinetd

    rpm -ivh rinetd-0.62-9.el7.nux.x86_64.rpm 

    (3) 编辑配置文件

    vi rinetd.conf  
        0.0.0.0 1234 127.0.0.1 22 

    (4) 启动转发

    rinetd -c /etc/rinetd.conf 

    5. ncat 端口转发

    netcat(简称nc)被誉为网络安全界的”瑞士军刀“,一个简单而有用的工具,这里介绍一种使用netcat实现端口转发的方法。

    (1) 安装ncat

    yum install nmap-ncat -y 

    (2) 监听本机 9876 端口,将数据转发到 192.168.172.131的 80 端口

    ncat --sh-exec "ncat 192.168.172.131 80" -l 9876  --keep-open 

    6. socat 端口转发

    socat是一个多功能的网络工具,使用socat进行端口转发。

    (1) socat安装

    yum install -y socat 

    (2) 在本地监听12345端口,并将请求转发至192.168.172.131的22端口。

    socat TCP4-LISTEN:12345,reuseaddr,fork TCP4:192.168.172.131:22 

    7. portmap 端口转发

    Linux 版的lcx,内网端口转发工具。

    (1) 下载地址:http://www.vuln.cn/wp-content/uploads/2016/06/lcx_vuln.cn_.zip

    (2) 监听本地1234端口,转发给192.168.172.131的22端口

    /portmap -m 1 -p1 1234 -h2 192.168.172.131 -p2 22 

    8. portfwd端口转发

    portfwd是meterpreter中内置的功能,也提供了单机版,用于TCP/UDP端口转发服务

    Github 项目地址:https://github.com/rssnsj/portfwd

    (1) 下载编译

    git clone https://github.com/rssnsj/portfwd.git 
    cd portfwd/src 
    make 

    (2)将本地的12345端口转发到192.168.172.131:22

    ./tcpfwd 0.0.0.0:12345 192.168.172.131:22 

    9. NATBypass端口转发

    一款lcx(htran)在golang下的实现

    Gihub项目地址:https://github.com/cw1997/NATBypass

    内网主机主动连接外网主机打通隧道:

    • 在目标机器上执行:nb -slave 127.0.0.1:3389 公网IP:51
    • 在公网的机器执行:nb -listen 51 3340
    • 在公网主机上连接 127.0.0.1:3340,即可连接上内网机器的3389端口。

    本文地址:https://www.linuxprobe.com/linux-port-transition.html

    展开全文
  • 1. SSH 端口转发 SSH 提供了一个非常有意思的功能,就是端口转发,它能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务。 (1) 本地端口转发 ssh -fgN -L 2222:localhost:...

    1. SSH 端口转发

    SSH 提供了一个非常有意思的功能,就是端口转发,它能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务。

    (1) 本地端口转发

    ssh -fgN -L 2222:localhost:22 localhost

    (2) 远程端口转发

    ssh -fgN -R 2222:host1:22 localhost 

    (3) 动态转发

    ssh -fgN -D 12345 root@host1 

    2. iptables 端口转发

    CentOS 7.0 及以下版本使用的是iptables,可以通过iptables实现数据包的转发

    (1) 开启数据转发功能

    vi /etc/sysctl.conf    
      #增加一行 net.ipv4.ip_forward=1 
    //使数据转发功能生效 
    sysctl -p 

    (2)将本地的端口转发到本机端口

    iptables -t nat -A PREROUTING -p tcp --dport 2222 -j REDIRECT --to-port 22 

    (3)将本机的端口转发到其他机器

    iptables -t nat -A PREROUTING -d 192.168.172.130 -p tcp --dport 8000 -j DNAT --to-destination 192.168.172.131:80 
    iptables -t nat -A POSTROUTING -d 192.168.172.131 -p tcp --dport 80 -j SNAT --to 192.168.172.130 
     
    #清空nat表的所有链 
    iptables -t nat -F PREROUTING 
    

    3. firewall 端口转发

    CentOS 7.0以上版本使用的是firewall,通过命令行配置实现端口转发。

    (1) 开启伪装IP

    firewall-cmd --permanent --add-masquerade 

    (2) 配置端口转发,将到达本机的12345端口的访问转发到另一台服务器的22端口。

    firewall-cmd --permanent --add-forward-port=port=12345:proto=tcp:toaddr=192.168.172.131:toport=22

    (3) 重新载入,使其失效

    firewall-cmd --reload 

    4. rinetd 端口转发

    rinetd是一个轻量级TCP转发工具,简单配置就可以实现端口映射/转发/重定向。

    (1) 源码下载

    wget https://li.nux.ro/download/nux/misc/el7/x86_64/rinetd-0.62-9.el7.nux.x86_64.rpm

    (2) 安装rinetd

    rpm -ivh rinetd-0.62-9.el7.nux.x86_64.rpm 

    (3) 编辑配置文件

    vi rinetd.conf  
        0.0.0.0 1234 127.0.0.1 22 

    (4) 启动转发

    rinetd -c /etc/rinetd.conf 

    5. ncat 端口转发

    netcat(简称nc)被誉为网络安全界的”瑞士军刀“,一个简单而有用的工具,这里介绍一种使用netcat实现端口转发的方法。

    (1) 安装ncat

    yum install nmap-ncat -y 

    (2) 监听本机 9876 端口,将数据转发到 192.168.172.131的 80 端口

    ncat --sh-exec "ncat 192.168.172.131 80" -l 9876  --keep-open 

    6. socat 端口转发

    socat是一个多功能的网络工具,使用socat进行端口转发。

    (1) socat安装

    yum install -y socat 

    (2) 在本地监听12345端口,并将请求转发至192.168.172.131的22端口。

    socat TCP4-LISTEN:12345,reuseaddr,fork TCP4:192.168.172.131:22 

    7. portmap 端口转发

    Linux 版的lcx,内网端口转发工具。

    (1) 下载地址:http://www.vuln.cn/wp-content/uploads/2016/06/lcx_vuln.cn_.zip

    (2) 监听本地1234端口,转发给192.168.172.131的22端口

    /portmap -m 1 -p1 1234 -h2 192.168.172.131 -p2 22 

    8. portfwd端口转发

    portfwd是meterpreter中内置的功能,也提供了单机版,用于TCP/UDP端口转发服务

    Github 项目地址:https://github.com/rssnsj/portfwd

    (1) 下载编译

    git clone https://github.com/rssnsj/portfwd.git 
    cd portfwd/src 
    make 

    (2)将本地的12345端口转发到192.168.172.131:22

    ./tcpfwd 0.0.0.0:12345 192.168.172.131:22 

    9. NATBypass端口转发

    一款lcx(htran)在golang下的实现

    Gihub项目地址:https://github.com/cw1997/NATBypass

    内网主机主动连接外网主机打通隧道:

    • 在目标机器上执行:nb -slave 127.0.0.1:3389 公网IP:51
    • 在公网的机器执行:nb -listen 51 3340
    • 在公网主机上连接 127.0.0.1:3340,即可连接上内网机器的3389端口。
    展开全文
  • Linux端口转发配置

    千次阅读 2019-07-22 17:30:29
    将一台linux的443端口转发到另外一台linux的443端口 1、修改/etc/sysctl.conf 将其中的 net.ipv4.ip_forward = 1 (值设置为1) 执行sysctl -p 立即生效 2、在防火墙规则中添加 iptables -t nat -I PREROUTING -...

    将一台linux的443端口转发到另外一台linux的443端口

    1、修改/etc/sysctl.conf 将其中的 net.ipv4.ip_forward = 1 (值设置为1)

          执行sysctl -p 立即生效

    2、在防火墙规则中添加

          iptables -t nat -I PREROUTING -p tcp --dport 443 -j DNAT --to 192.168.1.248

     

    展开全文
  • Linux 端口转发 端口映射

    万次阅读 2017-06-13 11:13:10
    摘要:端口转发也称端口映射,基本使用的有两种方式,本机端口转发,跨IP端口转发。 本机端口转发 应用场景:我要搭建一台Linux server,使用tomcat作为web容器,让别人维护web项目的发布,这时候会给他们一个...

    摘要:端口转发也称端口映射,基本使用的有两种方式,本机端口转发,跨IP端口转发。


    本机端口转发


    应用场景:我要搭建一台Linux server,使用tomcat作为web容器,让别人维护web项目的发布,这时候会给他们一个普通用户(非root用户)。


    分析:tomcat的默认端口是8080,所有用户都可以启动,但是除内部系统外,一般我们会选择使用80作为端口,可是普通用户没有对80的权限。怎么办,这个时候可以提前把80端口映射到8080端口,当tomcat以8080端口启动后就可以使用80端口访问。


    具体配置:

    [root@localhost sbin]# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
    [root@localhost sbin]# service iptables save
    [root@localhost sbin]# service iptables restart

    会返回如下信息:

    iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]

    这说明修改了iptables文件了,可以放心使用。清楚的知道规则报错到了/etc/sysconfig/iptables文件。


    跨IP端口转发


    应用场景:2年前购买了一台VPS1,由于价格高,所以100元买的配置很低,同时购买了域名,并且绑定的是这台VPS1。今年由于VPS降价,我又花100元买了台配置很高的VPS2。安装了很多服务在这台VPS2上。由于这台新买的VPS2没有绑定域名,我也不想换掉域名,所以我想通过域名访问到我新的VPS2上的服务。


    分析:显而易见,这两台VPS的IP地址不同,属于跨IP的转发。假设需要通过域名:80到VPS2:8080。【1.1.1.1:80 -> 2.2.2.2:8080】由于是跨IP,所以首先要开启IP转发功能。


    开启IP转发


    开启IP转发有两种,一种是临时性的,重启就没有了,一种是永久性的。重启也会存在。


    临时方案


    配置如下:

    echo 1 >/proc/sys/net/ipv4/ip_forward

    修改ip_forward文件,立即生效,重启失效。


    永久方案


    配置如下:

    vi /etc/sysctl.conf
    
    # 找到下面的值并将0改成1
    net.ipv4.ip_forward = 1
    
    sysctl –p(使之立即生效)



    以上就开启了对IP转发的支持,然后再配置端口转发,此时的端口转发与本机的端口转发略有不同。


    配置端口转发


    # iptables -t nat -A PREROUTING  -p tcp -d 1.1.1.1 --dport 80 -j DNAT --to-destination 2.2.2.2:8080
    # iptables -t nat -A POSTROUTING -p tcp -s 2.2.2.2 --sport 8080 -j SNAT --to-source 1.1.1.1
    # service iptables save

    当然也可以直接写到iptables文件中:

    -A PREROUTING  -p tcp -d 1.1.1.1 --dport 80 -j DNAT --to-destination 2.2.2.2:8080
    -A POSTROUTING -p tcp -s 2.2.2.2 --sport 8080 -j SNAT --to-source 1.1.1.1

    注:
    如果你用的是一个没有开启的端口,比如小与1024的端口,假如说是800,而不是8080,那么要记着打开这些端口。

    方式如下:

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 800 -j ACCEPT

    配置完成后,记着重启防火墙

    # service iptables restart

    然后就可以使用了。


    遇到的问题

    端口映射设置好是成功的,可是过一会就失效。发现了一个问题

    系统的iptables服务没有启动,比如可以使用如下命令查看:

    # chkconfig
    auditd          0:off   1:off   2:on    3:on    4:on    5:on    6:off
    blk-availability        0:off   1:on    2:on    3:on    4:on    5:on    6:off
    crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
    ip6tables       0:off   1:off   2:off   3:off   4:off   5:off   6:off
    iptables        0:off   1:off   2:off   3:off   4:off   5:off   6:off
    lvm2-monitor    0:off   1:on    2:on    3:on    4:on    5:on    6:off
    mcollective     0:off   1:off   2:on    3:on    4:on    5:on    6:off
    netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
    netfs           0:off   1:off   2:off   3:on    4:on    5:on    6:off
    network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
    ntpd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
    ntpdate         0:off   1:off   2:off   3:off   4:off   5:off   6:off
    puppet          0:off   1:off   2:on    3:on    4:on    5:on    6:off
    rdisc           0:off   1:off   2:off   3:off   4:off   5:off   6:off
    restorecond     0:off   1:off   2:off   3:off   4:off   5:off   6:off
    rhnsd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
    rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off
    saslauthd       0:off   1:off   2:off   3:off   4:off   5:off   6:off
    sendmail        0:off   1:off   2:on    3:on    4:on    5:on    6:off
    snmpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
    snmptrapd       0:off   1:off   2:off   3:off   4:off   5:off   6:off
    sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
    udev-post       0:off   1:on    2:on    3:on    4:on    5:on    6:off

    找到第6行,发现iptables对应的level开关都是off,这个时候要把off改成on即可。


    # chkconfig --help
    chkconfig version 1.3.49.3 - Copyright (C) 1997-2000 Red Hat, Inc.
    This may be freely redistributed under the terms of the GNU Public License.
    
    usage:   chkconfig [--list] [--type <type>] [name]
             chkconfig --add <name>
             chkconfig --del <name>
             chkconfig --override <name>
             chkconfig [--level <levels>] [--type <type>] <name> <on|off|reset|resetpriorities>
    

    使用命令:

    # chkconfig --level 012345 iptables on

    重新查看:

    # chkconfig
    auditd          0:off   1:off   2:on    3:on    4:on    5:on    6:off
    blk-availability        0:off   1:on    2:on    3:on    4:on    5:on    6:off
    crond           0:off   1:off   2:on    3:on    4:on    5:on    6:off
    ip6tables       0:off   1:off   2:off   3:off   4:off   5:off   6:off
    iptables        0:on    1:on    2:on    3:on    4:on    5:on    6:on
    lvm2-monitor    0:off   1:on    2:on    3:on    4:on    5:on    6:off
    mcollective     0:off   1:off   2:on    3:on    4:on    5:on    6:off
    netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
    netfs           0:off   1:off   2:off   3:on    4:on    5:on    6:off
    network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
    ntpd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
    ntpdate         0:off   1:off   2:off   3:off   4:off   5:off   6:off
    puppet          0:off   1:off   2:on    3:on    4:on    5:on    6:off
    rdisc           0:off   1:off   2:off   3:off   4:off   5:off   6:off
    restorecond     0:off   1:off   2:off   3:off   4:off   5:off   6:off
    rhnsd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
    rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off
    saslauthd       0:off   1:off   2:off   3:off   4:off   5:off   6:off
    sendmail        0:off   1:off   2:on    3:on    4:on    5:on    6:off
    snmpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
    snmptrapd       0:off   1:off   2:off   3:off   4:off   5:off   6:off
    sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
    udev-post       0:off   1:on    2:on    3:on    4:on    5:on    6:off

    这个时候就解决问题了。




    原文链接:Linux配置端口转发

    展开全文
  • 这几天teamviewer被黑的事情影响挺大,于是由远程控制想到了内网穿透,自然而然的想到了ssh的端口转发也能实现内网穿透。再细想一下,发现ssh隧道、或者说端口转发,竟然实现了正向代理、反向代理和内网穿透三种常用...
  • Linux端口转发

    2019-05-11 00:03:04
    Linux端口转发安装使用 安装 wget http://www.boutell.com/rinetd/http/rinetd.tar.gz tar -xvf rinetd.tar.gz cd rinetd sed -i 's/65536/65535/g' rinetd.c (修改端口范围) mkdir /usr/man make make install ...
  • 端口转发源码 for linux

    2021-03-17 13:03:33
    端口转发程序,初学linux下使用c++开发
  • 端口转发netcat(nc)

    2018-02-12 20:19:16
    端口转发工具 内网渗透 netcat(nc) 端口转发工具 内网渗透 netcat(nc)
  • 将所有发往本机8080端口的请求转发到172.19.94.3的8080端口 将所有发往本机2222端口的请求转发到192.168.0.103的3389端口 将所有发往1.2.3.4的80端口请求转发到192.168.0.10的80端口 启动程序 pkill rinetd ##关闭...
  • Linux配置端口转发

    万次阅读 2017-02-08 14:21:39
    开启IP转发 首先开启IP转发功能,默认是关闭的。 临时修改: # echo 1 >/proc/sys/net/ipv4/ip_forward 修改过后就马上生效,但如果系统重启后则又恢复为默认值0。 永久修改: vi /etc/sysctl.conf #...
  • linux设置端口转发(一键设置)

    千次阅读 2018-09-16 11:56:25
    linux设置端口转发   #下载rinetd程序并进入文件夹 wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&amp;&amp;tar -xvf rinetd.tar.gz&amp;&amp;cd rinetd #修改转发端口范围 sed -i ...
  • A机器 oracle linux7.4(也就是redhat 7.4, 10.63.230.64) B机器 redhat 6.5(10.63.230.154) 在A机器上操作如下 firewall-cmd --add-masquerade firewall-cmd --add-port=9800/tcp --permanent firewall-...
  • 7、Linux 端口转发特征总结

    千次阅读 2018-06-10 00:37:20
    Linux 下的端口转发工具非常多,关于使用方法网上也是非常详尽。因此在本文中,就不再赘述前人的研究成果,主要侧重的是研究不同工具在做端口转发时的特征。为了方便下面的讨论,首先交代一下场景:有两台主机A(172...
  • 转载于:https://www.cnblogs.com/kcxg/p/10880048.html
  • 加粗样式@TOC #开启系统路由模式功能 ...>/etc/sysctl.conf #运行这个命令会输出上面添加...#开启4650端口监听tcp请求 firewall-cmd --zone=public --add-port=4650/tcp --permanent #设置IP地址伪装 firewall-cmd --ad
  • 关于Linux端口转发规则失效问题

    千次阅读 2018-11-14 16:09:33
    机器重启后,发现已有iptables的端口转发规则都已经失效,通过iptables -t nat -L查看规则都是存在的,但就是无法进行转发。再检查ip_forward功能,发现被还原为0了: #cat /proc/sys/net/ipv4/ip_forward 0 可判定...
  • Linux下使用Shell 命令 实现ssh端口转发 实际例子来两个: ssh -CfNg -L 9987:10.154.62.197:3306 root@localhost -p 9999 ssh -CfNg -L 9985:10.154.62.75:3306 root@localhost -p 9999 9999是本地服务器的SSH端口...
  • linux端口转发问题

    2016-06-03 14:37:47
    linux系统中监听端口时,1024 以下的端口需要管理员权限。如何监听80端口,大概分三种方法: 1. 使用管理员账户启动,不推荐。 2. 修改文件所属用户为root,再加上 s 权限,使得在普通账户下也会通过root的名义...
  • linux 端口转发工具

    2016-06-30 16:28:22
    linux下最简单的端口转发工具  (2013-06-09 17:57:54) 转载▼ 标签:  linux   it   分类: Linux学习 linux下简单好用的工具rinetd,实现端口映射/转发/重定向 官网地址...
  • linux端口映射工具

    2012-06-20 09:02:59
    端口映射到其它主机上的端口,使用方便 使用方法: 首先配置 natd.conf 文件 启动:./run.sh start 关闭:./run.sh stop
  • 1、不跨ip端口转发  iptables -t nat -A PREROUTING -p tcp --dport 30215 -j REDIRECT --to-ports 5432 转载于:https://www.cnblogs.com/erdanyang/p/11262909.html
  • Linux实现端口转发

    千次阅读 2016-03-04 10:04:28
    本文讲述了如何在Linux下实现端口转发,以实现通过VPN连接至远端开放给VPN连接的计算机后,如何通过该计算机代理访问远端内网中其它计算机。 情 景是这样的,A公司给B公司开发了项目,之后需要对B公司的项目进行维护...
  • LINUX下高效TCP端口转发工具--RINETD

    千次阅读 2019-04-18 08:50:06
    @[TOC]LINUX下高效TCP端口转发工具–RINETD 转自LINUX下高效TCP端口转发工具–RINETD rinetd 介绍 一个C语言开发的开源TCP端口转发工具,在当前公网IP稀缺的情况下,只能通过NAT来实现内部服务器对外提供服务,该...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 95,064
精华内容 38,025
关键字:

linux端口转发

linux 订阅