精华内容
下载资源
问答
  • linux 远程本地端口映射

    万次阅读 2013-10-23 20:29:01
    linux 远程本地端口映射    端口映射,包括本地端口映射和远程端口映射.本文介绍两种可行的办法:iptables 和 ssh.下面我们来介绍这两种方法的使用方式.   本地主机IP A:192.168.1.119  远程主机IP B:192.168.1....

    linux 远程本地端口映射

     

           端口映射,包括本地端口映射和远程端口映射.本文介绍两种可行的办法:iptables 和 ssh.下面我们来介绍这两种方法的使用方式.

     

    本地主机IP A:192.168.1.119 

    远程主机IP B:192.168.1.120

     

    方法

    1:ssh 方式:

         -N      不执行远程命令. 用于转发端口. (仅限协议第二版)

         -L port:host:hostport
                 将本地机(客户机)的某个端口转发到远端指定机器的指定端口.  工作原理是这样的, 本地机器上分配了一个 socket 侦听
                 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 同时远程主机和 host 的 hostport 端口建立连接.
                 可以在配置文件中指定端口的转发. 只有 root 才能转发特权端口.  IPv6 地址用另一种格式说明: port/host/hostport

         -R port:host:hostport
                 将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口.  工作原理是这样的, 远程主机上分配了一个 socket 侦听
                 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转向出去, 同时本地主机和 host 的 hostport 端口建立连接.
                 可以在配置文件中指定端口的转发. 只有用 root 登录远程主机 才能转发特权端口. IPv6 地址用另一种格式说明:
                 port/host/hostport

     

    1.1: 使用-R参数:

           远程映射: ssh -N -R 9876:127.0.0.1:22192.168.1.120 , 意思将远程主机port(9876)端口映射到本地主机host(192.168.1.119)的本地端口hostport(22)上面.192.168.1.120是输这个命令时访问的远程主机. 因为远程主机侦听9876端口,所以远程主机访问9876端口就相当于访问192.168.1.119的22端口了.

          测试结果:

    A(119):

    [root:user] ssh -N -R 9876:127.0.0.1:22 192.168.1.120
    root@192.168.1.120's password:

                        

    B(120):         

    <user:work> ssh 127.0.0.1 -p 9876
    user@127.0.0.1's password:
    Linux debian 3.2.0-3-686-pae #1 SMP Thu Jun 28 08:56:46 UTC 2012 i686

    The programs included with the Debian GNU/Linux system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.

    Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.
    Last login: Wed Oct 23 19:12:53 2013 from debian.local
    [user:~] ifconfig
    eth0      Link encap:Ethernet  HWaddr 08:00:27:e4:81:9d 
              inet addr:192.168.1.119  Bcast:192.168.255.255  Mask:255.255.0.0                #120已经成功访问到119机器
              inet6 addr: fe80::a00:27ff:fee4:819d/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:2527825 errors:0 dropped:0 overruns:0 frame:0
              TX packets:2946303 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:1142752654 (1.0 GiB)  TX bytes:3537921035 (3.2 GiB)

    lo        Link encap:Local Loopback 
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:3658 errors:0 dropped:0 overruns:0 frame:0
              TX packets:3658 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:492528 (480.9 KiB)  TX bytes:492528 (480.9 KiB)

    [user:~]

     

           本地映射: 同理 :  ssh -N -R 9876:127.0.0.1:22127.0.0.1, 意思将远程主机port(9876)端口映射到本地主机host(192.168.1.119)本地端口hostport(22)上面.127.0.0.1是输这个命令时访问的远程主机(实际上用的是本机IP).

          测试结果:

    A(119):

    [root:user] ssh -N -R 9876:127.0.0.1:22 127.0.0.1
    root@127.0.0.1's password:

     

    A(120)

    [user:work] ssh 127.0.0.1 -p 9876
    ssh: connect to host 127.0.0.1 port 9876: Connection refused
    [user:work] ssh 127.0.0.1 -p 9876
    Linux debian 3.2.0-3-686-pae #1 SMP Thu Jun 28 08:56:46 UTC 2012 i686

    The programs included with the Debian GNU/Linux system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.

    Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.
    Last login: Wed Oct 23 19:29:00 2013 from localhost
    [user:~]                                            #已经成功登陆到shell,从/work目录进入到了user的根用户目录

     

    1.2: 使用-L参数:

           远程映射: ssh -N -L 9876:192.168.1.120:22127.0.0.1, 意思将本地主机port(9876)端口映射到远程主机host(192.168.1.120)远程端口hostport(22)上面.192.168.1.119是输这个命令时捆定的本地主机. 因为本地主机侦听9876端口,所以本地主机访问9876端口就相当于访问192.168.1.120的22端口了.

          测试结果:

    A(119):

    [root:user] ssh -N -L 9876:192.168.1.120:22 127.0.0.1
    root@127.0.0.1's password:

     

    A(119):

    [user:~] ssh 127.0.0.1 -p 9876
    user@127.0.0.1's password:
    Linux debian 3.2.0-3-686-pae #1 SMP Thu Jun 28 08:56:46 UTC 2012 i686

    The programs included with the Debian GNU/Linux system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.

    Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.
    Last login: Wed Oct 23 19:45:30 2013 from debian.local
    <user:~> ifconfig
    eth0      Link encap:Ethernet  HWaddr 08:00:27:e4:81:9d 
              inet addr:192.168.1.120  Bcast:192.168.255.255  Mask:255.255.0.0     #119已经成功访问到120机器
              inet6 addr: fe80::a00:27ff:fee4:819d/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:13528 errors:0 dropped:0 overruns:0 frame:0
              TX packets:1731 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:1304332 (1.2 MiB)  TX bytes:331565 (323.7 KiB)

    lo        Link encap:Local Loopback 
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:774 errors:0 dropped:0 overruns:0 frame:0
              TX packets:774 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:104032 (101.5 KiB)  TX bytes:104032 (101.5 KiB)

    <user:~>

     

           本地映射: 同理,也就不多说了,大家可以自己尝试一下.

     

    2:iptables 方式:

     

    将与 9876 端口的 TCP 连接转接到本地的 22端口上。使用 DNAT (Destination Network Address Translation) 技术可以满足这一要求。

    因为 iptables 在处理本地连接和远程连接的方法不同,所以需要分开处理。

    2.1:远程连接

    远程连接指的是由另外一台机器连接到这台机器上。这种连接的数据包在 iptables 会首先经过 PREROUTING 链,所以只需在 PREROUTING 链中作 DNAT。
    # iptables -t nat -A PREROUTING -p tcp -i eth0 -d 192.168.1.119 --dport 9876 -j DNAT --to 192.168.1.120:22

    2.2:本地连接

    本地连接指的是在本机上,用 127.0.0.1 或者本机 IP 来访问本机的端口。本地连接的数据包不会通过网卡,而是由内核处理后直接发给本地进程。这种数据包在 iptables 中只经过 OUTPUT 链,而不会经过 PREROUTING 链。所以需要在 OUTPUT 链中进行 DNAT。除了对127.0.0.1 之外,对本机 IP (即 192.168.1.119) 的访问也属于本地连接。
    # iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 9876 -j DNAT --to 127.0.0.1:22

    # iptables -t nat -A OUTPUT -p tcp -d 192.168.1.119 --dport 9876 -j DNAT --to 127.0.0.1:22

     

    测试结果:

    A(119):

    [root:src]
    [root:src] iptables -L  -t nat -n
    Chain PREROUTING (policy ACCEPT)
    target     prot opt source               destination        

    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination        

    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination        

    Chain POSTROUTING (policy ACCEPT)
    target     prot opt source               destination        
    [root:src] iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 9876 -j DNAT --to 127.0.0.1:22
    [root:src] iptables -t nat -A OUTPUT -p tcp -d 192.168.1.119 --dport 9876 -j DNAT --to 127.0.0.1:22
    [root:src] iptables -L  -t nat -n
    Chain PREROUTING (policy ACCEPT)
    target     prot opt source               destination        

    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination        

    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination        
    DNAT       tcp  --  0.0.0.0/0            127.0.0.1            tcp dpt:9876 to:127.0.0.1:22
    DNAT       tcp  --  0.0.0.0/0            192.168.1.119        tcp dpt:9876 to:127.0.0.1:22

    Chain POSTROUTING (policy ACCEPT)
    target     prot opt source               destination        
    [root:src]

     

    A(119):

    [user:src]
    [user:src] ssh 192.168.1.119 -p 9876
    Linux debian 3.2.0-3-686-pae #1 SMP Thu Jun 28 08:56:46 UTC 2012 i686

    The programs included with the Debian GNU/Linux system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.

    Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.
    Last login: Wed Oct 23 19:33:43 2013 from localhost
    [user:~] 登出
    Connection to 192.168.1.119 closed.
    [user:src] ssh 127.0.0.1 -p 9876
    Linux debian 3.2.0-3-686-pae #1 SMP Thu Jun 28 08:56:46 UTC 2012 i686

    The programs included with the Debian GNU/Linux system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.

    Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.
    Last login: Wed Oct 23 20:12:54 2013 from debian.local
    [user:~] 登出
    Connection to 127.0.0.1 closed.
    [user:src]

     

    展开全文
  • Linux测试端口是否ping的方法

    万次阅读 2019-03-27 00:09:45
    Linux系统有时候需要测试某个端口的连通性,用户可以参考如下方法来测试。方法一、telnet法 telnet为用户提供了在本地计算机上完成远程主机工作的能力,因此可以通过telnet来测试端口的连通性,具体用法格式:...

    Linux系统有时候需要测试某个端口的连通性,用户可以参考如下方法来测试。


    方法一、telnet法

     telnet为用户提供了在本地计算机上完成远程主机工作的能力,因此可以通过telnet来测试端口的连通性,具体用法格式:

    telnet ip port

    说明:

    ip:是测试主机的ip地址

    port:是端口,比如80

    如果telnet连接不存在的端口,那会如下图所示。

    如果telnet 连接存在端口会出现如下图所示的内容,下图中以80端口为例。

    方法二、ssh法

    SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,在linux上可以通过ssh命令来测试端口的连通性,具体用法格式如下:

    用法: ssh -v -p port username@ip

    说明:

    -v 调试模式(会打印日志).

    -p 指定端口

    username:远程主机的登录用户

    ip:远程主机

    如果远程主机开通了相应的端口,会有如下图所示的建立成功的提示。

    如果远程主机没有开通相应的端口,则如下图所示

    方法三、curl法

    curl是利用URL语法在命令行方式下工作的开源文件传输工具。也可以用来测试端口的连通性,具体用法:

    curl ip:port

    说明:

    ip:是测试主机的ip地址

    port:是端口,比如80

    如果远程主机开通了相应的端口,都会输出信息,如果没有开通相应的端口,则没有任何提示,需要CTRL+C断开。

    方法四、wget方法

    wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。wget名称的由来是“World Wide Web”与“get”的结合,它也可以用来测试端口的连通性具体用法:

    wget ip:port

    说明:

    ip:是测试主机的ip地址

    port:是端口,比如80

    如果远程主机不存在端口则会一直提示连接主机。

    展开全文
  • linux检测端口命令

    2019-08-26 13:54:58
    Linux系统有时候需要测试某个端口的连通性,用户可以参考如下方法来测试。 方法一、telnet法 telnet为用户提供了在本地计算机上完成远程主机工作的能力,因此可以通过telnet来测试端口的连通性,具体用法格式: ...

    Linux系统有时候需要测试某个端口的连通性,用户可以参考如下方法来测试。

    方法一、telnet法

    telnet为用户提供了在本地计算机上完成远程主机工作的能力,因此可以通过telnet来测试端口的连通性,具体用法格式:

    telnet ip port

    说明:

    ip:是测试主机的ip地址

    port:是端口,比如80

    如果telnet连接不存在的端口,那会如下图所示。

    如果telnet 连接存在端口会出现如下图所示的内容,下图中以80端口为例。

    方法二、ssh法

    SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,在linux上可以通过ssh命令来测试端口的连通性,具体用法格式如下:

    用法: ssh -v -p port username@ip

    说明:

    -v 调试模式(会打印日志).

    -p 指定端口

    username:远程主机的登录用户

    ip:远程主机

    如果远程主机开通了相应的端口,会有如下图所示的建立成功的提示。

    如果远程主机没有开通相应的端口,则如下图所示

    方法三、curl法

    curl是利用URL语法在命令行方式下工作的开源文件传输工具。也可以用来测试端口的连通性,具体用法:

    curl ip:port

    说明:

    ip:是测试主机的ip地址

    port:是端口,比如80

    如果远程主机开通了相应的端口,都会输出信息,如果没有开通相应的端口,则没有任何提示,需要CTRL+C断开。

    方法四、wget方法

    wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。wget名称的由来是“World Wide Web”与“get”的结合,它也可以用来测试端口的连通性具体用法:

    wget ip:port

    说明:

    ip:是测试主机的ip地址

    port:是端口,比如80

    如果远程主机不存在端口则会一直提示连接主机。

    本文参考:https://blog.csdn.net/z1134145881/article/details/54706711

    展开全文
  • linux下测试远程端口

    2019-02-12 13:49:23
     telnet为用户提供了在本地计算机上完成远程主机工作的能力,因此可以通过telnet来测试端口的连通性,具体用法格式: telnet ip port 说明: ip:是测试主机的ip地址 port:是端口,比如80 如果telnet连接不...

    方法一、telnet法

     telnet为用户提供了在本地计算机上完成远程主机工作的能力,因此可以通过telnet来测试端口的连通性,具体用法格式:

    telnet ip port

    说明:

    ip:是测试主机的ip地址

    port:是端口,比如80

    如果telnet连接不存在的端口,那会如下图所示。

    如果telnet 连接存在端口会出现如下图所示的内容,下图中以80端口为例。

    方法二、ssh法

    SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,在linux上可以通过ssh命令来测试端口的连通性,具体用法格式如下:

    用法: ssh -v -p port username@ip

    说明:

    -v 调试模式(会打印日志).

    -p 指定端口

    username:远程主机的登录用户

    ip:远程主机

    如果远程主机开通了相应的端口,会有如下图所示的建立成功的提示。

    如果远程主机没有开通相应的端口,则如下图所示

    方法三、curl

    curl是利用URL语法在命令行方式下工作的开源文件传输工具。也可以用来测试端口的连通性,具体用法:

    curl ip:port

    说明:

    ip:是测试主机的ip地址

    port:是端口,比如80

    如果远程主机开通了相应的端口,都会输出信息,如果没有开通相应的端口,则没有任何提示,需要CTRL+C断开。

    方法四、wget方法

    wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。wget名称的由来是“World Wide Web”与“get”的结合,它也可以用来测试端口的连通性具体用法:

    wget ip:port

    说明:

    ip:是测试主机的ip地址

    port:是端口,比如80

    如果远程主机不存在端口则会一直提示连接主机。

    展开全文
  • linux下检测远程端口是否打开

    千次阅读 2019-01-30 17:31:05
    常用telnet 118.10.6.128 88方式测试远程主机端口是否打开。 telnet baidu.com 80 Trying 123.125.114.144... Connected to baidu.com (123.125.114.144). #==>出现Connected表示连通了,说明百度的80端口开放...
  • 测试Linux端口的连通性的四种方法

    万次阅读 2017-07-29 19:26:06
    Linux系统有时候需要测试某个端口的连通性,用户可以参考如下方法来测试。 方法一、telnet法  telnet为用户提供了在本地计算机上完成远程主机工作的能力,因此可以通过telnet来测试端口的连通性,具体...
  • (1)本地主机上检测...也不是可运行的程序更详细在本地主机检测服务器端口是否可连接的方法可参考:怎样测试某个端口是否打开(2)在Linux服务器查看本服务器上的所有端口:服务器查看服务器所有端口信息的命令如...
  • Linux测试端口的连通性的五种方法

    千次阅读 2019-12-26 11:22:55
    Linux测试端口的连通性的四种方法 目录 1.telnet 2.ssh 3.crul 4.wget 方法一、telnet telnet为用户提供了在本地计算机上完成远程主机工作的能力,因此可以通过telnet来测试端口的连通性,具体用法格式: ...
  • Linux测试端口的连通性的四种方法

    千次阅读 2018-04-24 14:46:41
    Linux系统有时候需要测试某个端口的连通性,用户可以参考如下方法来测试。方法一、telnet法 telnet为用户提供了在本地计算机上完成远程主机工作的能力,因此可以通过telnet来测试端口的连通性,具体用法格式:...
  • Linux可以使用nc命令来测试网络端口是否正常,类似于telnet命令,但也可以用nc命令来监听本地端口,支持TCP、UDP协议。 使用案例如下: 1、测试TCP端口 nc -vz iptcp-port 2、测试UDP nc -uvz ip udp-port ...
  • linux下网络端口连通性测试命令汇总

    万次阅读 2018-12-11 21:29:53
     telnet为用户提供了在本地计算机上完成远程主机工作的能力,因此可以通过telnet来测试端口的连通性,具体用法格式: telnet ip port 说明: ip:是测试主机的ip地址 port:是端口,比如80 如果telnet连接不...
  • linux可以使用nc命令来测试网络端口是否正常,类似于telnet命令,但也可以用nc命令来监听本地端口,支持TCP、UDP协议,当我们测试NTP服务网络策略是否正常时,可以使用到nc命令测试UDP 123端口。使用案例如下:1、...
  • linux打开端口_在Linux上打开端口

    千次阅读 2020-07-18 10:24:52
    linux打开端口Before we learn about opening a port on Linux, let’s understand what network ports are. A port is a communication endpoint. Within an operating system, a port allows the data packets ...
  • Linux命令--nc (测试服务器端口是否打开) ##参数 想要连接到某处: nc [-options] hostname port[s] [ports] … 绑定端口等待...
  • @[TOC](local port(本地可用端口...通过查询连接跟踪表发现,超过6W条连接指向同一个目的ip+端口,初步确认问题系因本地端口用尽,新建的连接无法获取可用端口导致的CPU飚高。 为了确认该原因,需对内核代码进行分析...
  • 这个工具以前使用的初衷是内网渗透,需要将内网ssh端口转发到外网服务器上。但这个工具同样适用于运维工程师进行远程内网维护。 当然这一切的前提是内网可以访问外网,检测方法当然就是...linux版lcx端口转发2016.6.
  • Linux如何查看端口状态

    万次阅读 2017-05-07 11:22:05
    Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询 netstat命令各个参数说明如下:  -t : 指明显示TCP端口  -u : ...
  • 在讨论这个问题前,我们先来了解一下物理端口、逻辑端口端口号等计算机概念。 端口相关的概念: 在网络技术中,端口(Port)包括逻辑端口和物理端口两种类型。物理端口指的是物理存在的端口,如ADSL Modem、集线...
  • 通过本文的介绍,读者可以从中了解到如何应用 SSH 端口转发机制来解决日常工作 / 生活中的一些问题。学会在非安全环境下使用端口转发来加密网络应用,保护个人隐私以及重要商业信息。同时也能够用此技术解决工作中...
  • Linux管理开放端口与防火墙笔记总结

    千次阅读 2020-06-04 23:44:02
    在工作中,如果不是用的云服务器,没有用户安全组规则的设置与修改,直接在Linux宿主机上操作,其实也算简单,但需要注意到的点就可能比较多,另外检测也都有相应的方法,所以想总结一下之前有遇到过的问题。...
  • Linux主机开放指定端口

    千次阅读 2020-07-29 15:29:35
    有的时候会出现我们的应用程序在linux主机上已经正常启动了,但是本地还是无法连接访问。 出现这种情况的原因一般是如下两种: 主机的端口没有开放。 主机与本地之间的网络不通。 确定问题与解决问题 下面主要介绍...
  • linux服务器80端口无法访问问题解决可以依次从上往下排查,每排查一次测试一下一、确定服务器部署的项目运行成功二、确定访问地址地址是否正确三、确定服务器安全规则是否添加了要访问的端口四、连接服务器的用户五...
  • 1.防火墙添加端口 firewall-cmd --zone=public --add-port=端口/tcp --permanent 命令含义: –zone #作用域 –add-port=1935/tcp #添加端口,格式为:端口/通讯协议 –permanent #永久生效,没有此参数重启后失效...
  • Linux查看某个端口的连接数

    千次阅读 2018-08-11 10:47:09
    Linux查看某个端口的连接数 一、查看哪些IP连接本机 netstat -an 二、查看TCP连接数 1)统计80端口连接数 netstat -nat | grep -i "80" | wc -l 2)统计httpd协议连接数 ps -ef | grep httpd | ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 151,177
精华内容 60,470
关键字:

linux测本地端口

linux 订阅