测试端口是否连通的几种方式

0    20    1

Tags:

👉 本文共约1606个字,系统预计阅读时间或需7分钟。

telnet

命令:

回车后,若端口是开放的,则会显示相关的协议,例如:SSH、mysql等,或者为空。

wget

curl

curl是用于从服务器传输数据或将数据传输到服务器的工具。它支持以下协议:DICT,FILE,FTP,FTPS,GOPHER,GOPHERS,HTTP,HTTPS,IMAP,IMAPS,LDAP,LDAPS,MQTT,POP3,POP3S,RTMP,RTMPS,RTSP,SCP,SFTP,SMB,SMBS,SMTP,SMTPS,TELNET,TFTP,WS和WSS。它由 libcurl 提供支持,适用于所有与传输相关的功能

通的情况:

不通的情况:

nc或nact

nc 或者 ncat 命令也可以用于测试远程主机是否在指定端口上侦听或建立到该端口的连接。

例如,要测试远程主机的 55555 端口是否打开,可以使用以下命令:

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

通的情况

不通的情况

或者可以使用 ncat,ncat 是 nmap 网络工具套件的一部分,是一个更现代的工具。它被设计为 nc 的更丰富的替代品。它支持 SSL/TLS 加密、IPv6、SOCKS 代理等。

nmap

端口扫描工具,会扫描所有的端口,一般不建议使用

python

Linux 环境一般都 python 环境,要使用 Python 检查远程端口是否打开,可以使用 socket 模块

端口通的 Demo

端口不通的 Demo

/dev/tcp

利用 /dev/tcp 虚拟文件系统 检查端口是打开还是关闭,使用下面这样的命名就可以测试

看一个Demo,使用 Linux 中的 /dev/tcp 虚拟文件系统连接到远程主机的 55555 端口。用于测试远程主机是否在该端口上侦听或建立到该端口的连接。/dev/proto/host/port/ 对应测试数据 /dev/tcp/$host/$port

这里为了好看,我们做一些简单修饰

通的情况

不通的情况

原理,Linux 的真值和编程语言代码中的真值是不同的。根据执行的返回值确认是否通

换成分号的情况我们就可以正常显示。

需要注意的是,这个命令可能不适用于所有系统,因为它依赖于 /dev/tcp 虚拟文件系统是否启用。此外,这个命令应该只用于测试或诊断目的,而不用于任何恶意活动。

如果三层都不通,对于不同的情况也可以具体分析

端口通的情况

IP 都不通的情况

  • Network is unreachable :当源设备无法找到到达目标网络的路由时,会出现此错误。这意味着源设备的路由表中没有目标设备所在的网络的条目。这可能是因为网络已经关闭,或者路由表中存在配置错误。
  • No route to host :当源设备可以找到到达目标网络的路由,但无法找到该网络上特定主机的路由时,会出现此错误。这意味着源设备的路由表中有目标设备所在的网络的条目,但没有目标设备的特定IP地址的条目。这可能是因为目标设备已关闭,或者路由表中存在配置错误。

总结

参考

https://mp.weixin.qq.com/s/D2G1pGiX1RtgEamzreyo6w
https://medium.com/geekculture/linux-useful-tricks-telnet-alternatives-ed9f342149a1

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部