前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >检查服务器端口连通性的几种方法

检查服务器端口连通性的几种方法

作者头像
Hopetree
发布2022-09-26 18:14:29
2.3K0
发布2022-09-26 18:14:29
举报
文章被收录于专栏:tendcode

在日常运维工作中,经常会需要检查本机或者其他服务器的端口开放情况,虽然自己本身也会几个基本的查看端口连通性的命令,但是也会遇到某些服务器上面没有安装自己会的工具,所以收集了一些可以用来检测端口连通性的命令工具。

查看本机监听端口

netstat

安装:yum -y install net-tools

使用:netstat -nplt

代码语言:javascript
复制
[zero@hopetree ~]$ netstat -nplt
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:8888            0.0.0.0:*               LISTEN      -                   
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:5700            0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:6789            0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      -                   
tcp        0      0 0.0.0.0:9527            0.0.0.0:*               LISTEN      -                   
tcp6       0      0 :::8888                 :::*                    LISTEN      -                   
tcp6       0      0 ::1:25                  :::*                    LISTEN      -                   
tcp6       0      0 :::5700                 :::*                    LISTEN      -                   
tcp6       0      0 :::6789                 :::*                    LISTEN      -                   
tcp6       0      0 :::8080                 :::*                    LISTEN      -                   
tcp6       0      0 :::80                   :::*                    LISTEN      - 

ss

ss 命令是 netstat 命令的替代品,而且更加优秀。ss 执行的时候消耗资源以及消耗的时间都比netstat少很多。ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快速更高效。

使用: ss -nplt

代码语言:javascript
复制
[zero@hopetree ~]$ ss -nplt
State      Recv-Q Send-Q            Local Address:Port                           Peer Address:Port              
LISTEN     0      128                           *:8888                                      *:*                  
LISTEN     0      100                   127.0.0.1:25                                        *:*                  
LISTEN     0      128                           *:443                                       *:*                  
LISTEN     0      128                           *:5700                                      *:*                  
LISTEN     0      128                           *:6789                                      *:*                  
LISTEN     0      128                           *:8080                                      *:*                  
LISTEN     0      128                           *:80                                        *:*                  
LISTEN     0      128                           *:9527                                      *:*                  
LISTEN     0      128                        [::]:8888                                   [::]:*                  
LISTEN     0      100                       [::1]:25                                     [::]:*                  
LISTEN     0      128                        [::]:5700                                   [::]:*                  
LISTEN     0      128                        [::]:6789                                   [::]:*                  
LISTEN     0      128                        [::]:8080                                   [::]:*                  
LISTEN     0      128                        [::]:80                                     [::]:*   

检查服务器端口连通性

telnet

telnet 在windows电脑不可用的时候需要开启服务,具体方式参考:Windows10系统开启telnet功能

安装:yum install -y telnet-server & yum install -y telnet

使用:telnet ip port

端口通的回显:

代码语言:javascript
复制
[root@hopetree zero]# telnet 172.17.120.246 443
Trying 172.17.120.246...
Connected to 172.17.120.246.
Escape character is '^]'.

端口不通的回显:

代码语言:javascript
复制
[root@hopetree zero]# telnet 172.17.120.246 1234
Trying 172.17.120.246...
telnet: connect to address 172.17.120.246: Connection refused

ssh

ssh 命令一般用于登录服务器,也可以作为端口连通性的检查。

使用:ssh -v -p port ip

端口通的回显(关键信息是 debug1: Connection established.):

代码语言:javascript
复制
[root@hopetree zero]# ssh -v -p 443 172.17.120.246
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 58: Applying options for *
debug1: Connecting to 172.17.120.246 [172.17.120.246] port 443.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.4
debug1: ssh_exchange_identification: HTTP/1.1 400 Bad Request

端口不通的回显:

代码语言:javascript
复制
[root@hopetree zero]# ssh -v -p 1234 172.17.120.246
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 58: Applying options for *
debug1: Connecting to 172.17.120.246 [172.17.120.246] port 1234.
debug1: connect to address 172.17.120.246 port 1234: Connection refused
ssh: connect to host 172.17.120.246 port 1234: Connection refused

curl

curl 一般情况下用来进行请求,实际上也可以检测端口是否能通.

使用:curl ip:port

端口通的回显

代码语言:javascript
复制
[zero@hopetree ~]$ curl 172.17.120.246:443
<html>
<head><title>400 The plain HTTP request was sent to HTTPS port</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<center>The plain HTTP request was sent to HTTPS port</center>
<hr><center>nginx/1.20.1</center>
</body>
</html>

端口不通的回显:

代码语言:javascript
复制
[zero@hopetree ~]$ curl 172.17.120.246:1234
curl: (7) Failed connect to 172.17.120.246:1234; Connection refused

wget

安装:yum install -y wget

使用 :wget ip:port

端口通的回显:

代码语言:javascript
复制
[zero@hopetree ~]$ wget 172.17.120.246:443
--2022-04-13 14:35:48--  http://172.17.120.246:443/
Connecting to 172.17.120.246:443... connected.
HTTP request sent, awaiting response... 400 Bad Request
2022-04-13 14:35:48 ERROR 400: Bad Request.

端口不通的回显:

代码语言:javascript
复制
[zero@hopetree ~]$ wget 172.17.120.246:1234
--2022-04-13 14:36:29--  http://172.17.120.246:1234/
Connecting to 172.17.120.246:1234... failed: Connection refused.

nc

nc命令 全称netcat,用于设置路由器。它能通过 TCP 和 UDP 在网络中读写数据。通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它。使用 netcat 命令所能完成的事情令人惊讶。

安装:yum install -y nc

使用:nc -vz ip port

端口通的回显:

代码语言:javascript
复制
[zero@hopetree ~]$ nc -vz 172.17.120.246 443
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 172.17.120.246:443.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.

端口不通的回显:

代码语言:javascript
复制
[zero@hopetree ~]$ nc -vz 172.17.120.246 1234
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connection refused.

nmap

安装:yum install -y nmap

使用:nmap -p port ip

端口通的回显:

代码语言:javascript
复制
[zero@hopetree ~]$ nmap -p 443 172.17.120.246

Starting Nmap 6.40 ( http://nmap.org ) at 2022-04-13 14:46 CST
Nmap scan report for iZwz91obh1cwf52kgsc0fgZ (172.17.120.246)
Host is up (0.000054s latency).
PORT    STATE SERVICE
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 0.03 seconds

端口不通的回显:

代码语言:javascript
复制
[zero@hopetree ~]$ nmap -p 1234 172.17.120.246

Starting Nmap 6.40 ( http://nmap.org ) at 2022-04-13 14:46 CST
Nmap scan report for iZwz91obh1cwf52kgsc0fgZ (172.17.120.246)
Host is up (0.000066s latency).
PORT     STATE  SERVICE
1234/tcp closed hotline

Nmap done: 1 IP address (1 host up) scanned in 0.03 seconds

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=sxck8uzrhxb1

版权声明:如无特殊说明,文章均为本站原创,转载请注明出处 本文链接:https://cloud.tencent.com/developer/article/2123579 许可协议:署名-非商业性使用 4.0 国际许可协议

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月13日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 查看本机监听端口
    • netstat
      • ss
      • 检查服务器端口连通性
        • telnet
          • ssh
            • curl
              • wget
                • nc
                  • nmap
                  相关产品与服务
                  命令行工具
                  腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档