作为数据运维工程师或开发人员,使用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知识,可关注凡亿课堂。