• 测试端口开通的几种方法


    一、前言

    在平时使用中,当测试服务器端口是否开通时,我们首先想到的是Telnet,如下:

    [root@k8s-master01 ~]# telnet 192.168.1.33 6443
    Trying 192.168.1.33...
    Connected to 192.168.1.33.
    Escape character is '^]'.
    
    • 1
    • 2
    • 3
    • 4

    但是实际生产环境可能不允许我们使用Telnet工具,此时我们只能使用其他工具进行测试端口是否开通。除Telnet工具外,支持测试端口开通的工具有Curl、SSH、nc、wget、nmap

    二、工具介绍

    2.1、curl

    命令格式:

    $ curl ip:port
    
    • 1

    成功示例说明:

    lckd@lckd-PC:~$ curl 192.168.210.27:80
    <!DOCTYPE html>
    <html>
    <head>
    <title>Welcome to nginx!</title>
    <style>
        body {
            width: 35em;
            margin: 0 auto;
            font-family: Tahoma, Verdana, Arial, sans-serif;
        }
    </style>
    </head>
    <body>
    <h1>Welcome to nginx!</h1>
    <p>If you see this page, the nginx web server is successfully installed and
    working. Further configuration is required.</p>
    
    <p>For online documentation and support please refer to
    <a href="http://nginx.org/">nginx.org</a>.<br/>
    Commercial support is available at
    <a href="http://nginx.com/">nginx.com</a>.</p>
    
    <p><em>Thank you for using nginx.</em></p>
    </body>
    </html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    失败示例说明:

    lckd@lckd-PC:~$ curl 192.168.210.27:8081
    curl: (7) Failed to connect to 192.168.210.27 port 8081: 拒绝连接
    
    • 1
    • 2

    2.2、ssh

    命令格式:

    $ ssh -v -p port username@ip
    
    • 1

    上面参数说明:

    • -v: 是 ssh 命令的一个选项,用于启用详细输出模式(verbose mode)-
    • -p port: 是 ssh 命令的另一个选项,用于指定连接远程服务器时要使用的端口号
    • username: 要连接到远程服务器的用户名
    • ip: 是远程服务器的 IP 地址或主机名

    成功示例说明:

    lckd@lckd-PC:~$ ssh -v -p 80 192.168.210.27
    OpenSSH_7.9p1 Debian-1+dde, OpenSSL 1.1.1d  10 Sep 2019
    debug1: Reading configuration data /etc/ssh/ssh_config
    debug1: /etc/ssh/ssh_config line 19: Applying options for *
    debug1: Connecting to 192.168.210.27 [192.168.210.27] port 80.
    debug1: Connection established.
    debug1: identity file /home/lckd/.ssh/id_rsa type -1
    debug1: identity file /home/lckd/.ssh/id_rsa-cert type -1
    debug1: identity file /home/lckd/.ssh/id_dsa type -1
    debug1: identity file /home/lckd/.ssh/id_dsa-cert type -1
    debug1: identity file /home/lckd/.ssh/id_ecdsa type -1
    debug1: identity file /home/lckd/.ssh/id_ecdsa-cert type -1
    debug1: identity file /home/lckd/.ssh/id_ed25519 type -1
    debug1: identity file /home/lckd/.ssh/id_ed25519-cert type -1
    debug1: identity file /home/lckd/.ssh/id_xmss type -1
    debug1: identity file /home/lckd/.ssh/id_xmss-cert type -1
    debug1: Local version string SSH-2.0-OpenSSH_7.9p1 Debian-1+dde
    debug1: ssh_exchange_identification: HTTP/1.1 400 Bad Request
    
    
    debug1: ssh_exchange_identification: Server: nginx/1.18.0 (Ubuntu)
    
    
    debug1: ssh_exchange_identification: Date: Wed, 15 Nov 2023 06:10:29 GMT
    
    
    debug1: ssh_exchange_identification: Content-Type: text/html
    
    
    debug1: ssh_exchange_identification: Content-Length: 166
    
    
    debug1: ssh_exchange_identification: Connection: close
    
    
    debug1: ssh_exchange_identification:
    
    
    debug1: ssh_exchange_identification: <html>
    
    
    debug1: ssh_exchange_identification: <head><title>400 Bad Request</title></head>
    
    
    debug1: ssh_exchange_identification: <body>
    
    
    debug1: ssh_exchange_identification: <center><h1>400 Bad Request</h1></center>
    
    
    debug1: ssh_exchange_identification: <hr><center>nginx/1.18.0 (Ubuntu)</center>
    
    
    debug1: ssh_exchange_identification: </body>
    
    
    debug1: ssh_exchange_identification: </html>
    
    
    ssh_exchange_identification: Connection closed by remote host
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60

    失败示例说明:

    lckd@lckd-PC:~$ ssh -v -p 8081 192.168.210.27
    OpenSSH_7.9p1 Debian-1+dde, OpenSSL 1.1.1d  10 Sep 2019
    debug1: Reading configuration data /etc/ssh/ssh_config
    debug1: /etc/ssh/ssh_config line 19: Applying options for *
    debug1: Connecting to 192.168.210.27 [192.168.210.27] port 8081.
    debug1: connect to address 192.168.210.27 port 8081: Connection refused
    ssh: connect to host 192.168.210.27 port 8081: Connection refused
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2.3、nc

    命令格式:

    $ nc -zv ip port
    
    • 1

    上面参数说明:

    • nc: 是用于在命令行中进行网络连接的工具,也称为 netcat
    • -v: 是 nc 命令的一个选项,用于启用详细输出模式(verbose mode)
    • -z: 是 nc 命令的另一个选项,用于指示 nc 在连接成功后立即关闭连接,而不发送或接收任何数据。这使得 nc 仅用于测试连接,而不会执行实际数据传输。
    • ip: 是远程服务器的 IP 地址或主机名
    • port: 是远程服务器的端口号

    成功示例说明:

    lckd@lckd-PC:~$ nc -zv 192.168.210.27 80
    Connection to 192.168.210.27 80 port [tcp/http] succeeded!
    
    • 1
    • 2

    失败示例说明:

    lckd@lckd-PC:~$ nc -zv 192.168.210.27 8081
    nc: connect to 192.168.210.27 port 8081 (tcp) failed: Connection refused
    
    • 1
    • 2

    2.4、wget

    命令格式:

    $ wget ip:port
    
    • 1

    成功示例说明:

    lckd@lckd-PC:~$ wget 192.168.210.27:80
    --2023-11-15 14:15:13--  http://192.168.210.27/
    正在连接 192.168.210.27:80... 已连接。
    已发出 HTTP 请求,正在等待回应... 200 OK
    长度:612 [text/html]
    正在保存至: “index.html.1”
    
    index.html.1                  100%[=================================================>]     612  --.-KB/s  用时 0s
    
    2023-11-15 14:15:13 (124 MB/s) - 已保存 “index.html.1” [612/612])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    失败示例说明:

    lckd@lckd-PC:~$ wget 192.168.210.27:8081
    --2023-11-15 14:15:51--  http://192.168.210.27:8081/
    正在连接 192.168.210.27:8081... 失败:拒绝连接。
    
    • 1
    • 2
    • 3

    2.5、nmap

    命令格式:

    $ nmap -p port ip
    
    • 1

    如果没有,先下载。

    成功示例说明:

    lckd@lckd-PC:~$ nmap -p 80 192.168.210.27
    Starting Nmap 7.70 ( https://nmap.org ) at 2023-11-15 14:18 CST
    Nmap scan report for 192.168.210.27
    Host is up (0.00027s latency).
    
    PORT   STATE SERVICE
    80/tcp open  http
    
    Nmap done: 1 IP address (1 host up) scanned in 6.53 seconds
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    失败示例说明:

    lckd@lckd-PC:~$ nmap -p 8081 192.168.210.27
    Starting Nmap 7.70 ( https://nmap.org ) at 2023-11-15 14:19 CST
    Nmap scan report for 192.168.210.27
    Host is up (0.00033s latency).
    
    PORT     STATE  SERVICE
    8081/tcp closed blackice-icecap
    
    Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 相关阅读:
    vue 动态路由实现 后端控制权限时的前端处理
    十大经典排序算法——java语言
    关于js_document对象中的获取元素,创建元素的方法
    为什么反序列化失败?
    记录一次并发情况下的redis导致服务假死的问题
    关于宝宝过敏原检测的这几点,专家达成共识啦
    excel单元格各种组合求和
    【面试题】JS 常见的 6 种继承方式(常见)
    躲避雪糕刺客?通过爬虫爬取雪糕价格
    工业物联网模块应用之砂芯库桁架机器人远程无线控制
  • 原文地址:https://blog.csdn.net/weixin_40228534/article/details/134419255