凡亿专栏 | Linux高级技巧:如何查看端口占用、开放情况?
Linux高级技巧:如何查看端口占用、开放情况?

作为数据运维工程师或开发人员,使用Linux作为服务器或桌面环境,了解其的开放端口或正在使用下的端口的具体情况是很有必要的。了解Linux的端口情况可以更好的维护系统。今天凡亿教育将分享如何在Linux查看端口的具体方法,希望对小伙伴们有所帮助。

解决复杂理论知识,专注代码实际操作

Linux高级驱动开发实战教程

在Linux中有多种检查端口的方法,具体如下:

1、使用lsof命令查看Linux系统中的端口

若是直接以root用户或通过SSH登录到Linux上,则可通过lsof命令检查端口:

sudo lsof -i -P -n

lsof命令是用于查找用户使用的文件和进程,参数如下:

-i:若没指定IP地址,该选项选择列出所有网络文件

-P:禁止将端口号转换为端口名称, 如 3306 转为 MySQL

-n:禁止IP转换为hostname,缺省是不加上-n参数

当然,该命令也会输出许多不必要的额外端口,若是想查看正在监听的端口或服务所使用的端口,具体如下:

sudo lsof -i -P -n | grep LISTEN

2、使用netcat命令检查任何服务器上的端口

nc(Netcat)是一个命令行的实用程序,它可在TCP和UDP协议通过网络在计算机间读取写入数据。

nc [options] host port

该命令有个“z”参数,作用是使nc扫描侦听守护程序而不向端口发送数据。若与参数“v”结合可启用详细模式,得到端口的详细信息。

nc -z -v 1-65535 2>&1 | grep -v 'Connection refused'

注意:端口选择值在1-65535,是因为端口范围是从1开始,到65535结束。

3、使用psmisc工具查看Linux系统中的端口

psmisc是Linux的一个实用性命令工具,包含着三个管理命令,分别是pstree、fuser、killall。安装psmisc命令如下:

yum install -y psmisc

pstree以树状形式显示当前用户下正在运行的进程。

由于psmisc极少用于查看端口,且三个命令用法较为复杂,暂且不论。

4、使用telnet命令检查任何服务器上的端口

一般来说,telnet常用于检测某个指定的端口是否能正常运行,确定远程服务器的某个端口是否能访问,具体如下:

telnet json.im 80

注意::json.im所在的服务器一定要安装telnet服务,并且开放23端口

以上是关于Linux的高级技巧。

欲了解更多的Linux知识,可关注凡亿课堂

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表凡亿课堂立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。
相关阅读
进入分区查看更多精彩内容>
精彩评论

暂无评论