{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

Linux如何检查远程服务器中端口是否打开?

Lucky_BoyLucky_Boy 回答0 收藏1
收藏问题

4条回答

callmewhy

callmewhy

回答于2022-06-28 09:53

这个非常简单,telnet、nc和nmap这3个命令就可以轻松实现,下面我简单介绍一下实现过程,感兴趣的朋友可以自己尝试一下:

telnet

这是基于telnet协议实现的一个远程登录命令,可以直接用于测试远程Linux服务器是否开启指定端口,安装的话,输入命令“yum install -y telnet”(或者“apt install -y telnet”)就行,使用方式“telnet 服务器IP地址 端口号”,如下,这里以端口22为例,如果返回结果为Connected,则说明端口开启,如果为refused,则说明端口关闭:

nc

也即netcat,一个简单实用的Unix(Linux)工具,主要用来读写网络间连接的数据,可以很方便的查看远程Linux服务器是否开启指定端口,如下,这里以3306端口为例,如果返回结果为Connected,则说明端口开启,如果为timed out,则说明端口关闭:

更多参数和说明的话,可以使用命令“nc -h”进行查看,官方文档解释的非常清楚详细,如下:

nmap

这是一个专门用于网络嗅探的工具,在渗透测试中经常会用到,也可以很方便的查看远程Linux服务器是否开启指定端口,安装的话,输入命令“yum install -y nmap”(或者“apt install -y nmap”)就行,如下,这里以80,21,3306这3个端口为例,如果返回结果为open,则说明端口开启,如果为filtered,则说明端口关闭:

更多参数和功能的话,可以使用帮助命令“nmap -h”进行查看,官方文档解释的非常详细清楚,一目了然,如下:

至此,我们就介绍完了使用telnet、nc和nmap这3个命令来查看远程Linux服务器是否开启指定端口。总的来说,这3种方式都非常简单,只要你有一定的Linux基础,熟悉一下相关参数和说明,很快就能掌握的,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

评论0 赞同0
  •  加载中...
Wildcard

Wildcard

回答于2022-06-28 09:53

方法一,telnet host port

方法二,nc -t host port 其中-t代表tcp,-u是udp

方法三,任意语言,优先python,写一段 socket程序,调用connect函数看看是否成功

评论0 赞同0
  •  加载中...
zhonghanwen

zhonghanwen

回答于2022-06-28 09:53

Linux中使用Netstat查看端口

Linux 和windos服务器上的命令其实有点类似,你的这个问题其实也很简单使用netstat这个命令查看当前的服务器中那些端口被打开。


netstat命令用法:使用man netstat查看命令帮助

  1. netstat用途: 用于显示linux中各种网络相关信息,如网络链接 路由表 接口状态链接 多播成员等等。

  2. netstat 参数含义:

-a (all)显示所有选项,默认不显示LISTEN相关

-t (tcp)仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 拒绝显示别名,能显示数字的全部转化成数字。

-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名

-r 显示路由信息

-e 显示扩展信息

-s 按各个协议进行统计

-c 每隔一个固定时间


举例:

  1. 查询服务器是否看是否监听80端口(web服务)

2.查询服务器是否开启MySQL服务(一般是3306)

如果你根本不知道你的服务器上开放什么端口,你可以使用如下命令:

以上只是做了一个简单参考,具体的情况你可以使用 man netstat来看参数具体对待需求。

评论0 赞同0
  •  加载中...
snowell

snowell

回答于2022-06-28 09:53

ping一下ip地址加上你想要的端口,就知道端口打开没有

评论0 赞同0
  •  加载中...

相关问题

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<