1. 端口号概述
在计算机网络中,端口号用于标识网络应用程序中的不同服务实体。默认情况下,端口号范围是从0~65535。其中0~1023是为公认端口,由IANA(Internet Assigned Numbers Authority)指定;1024~49151是为注册端口,是留给用户定义和应用程序暂时使用的;49152~65535是为动态或私有端口,可以被客户端程序使用,但是通常由服务端程序暂时使用。
在Linux系统中,通过查看端口号可以快速了解当前系统开放了哪些网络服务,从而帮助管理员管理系统,保证系统的安全性。
2. 查看端口号命令
2.1 netstat命令
netstat命令可以用来显示当前网络连接、路由表和网络接口信息,同时也可以用于查看当前开放的端口号。
netstat -an | grep LISTEN
该命令将会显示当前系统中所有正在监听的端口号,其中LISTEN
表示对该端口号的监听是开启的。
2.2 lsof命令
lsof用于列出当前系统打开的文件,也可以用于查看端口号。
lsof -i :端口号
该命令将会列出当前正在使用某个特定端口的进程。
3. 示例
以下是一个简单的示例,演示如何使用命令行来查看当前系统中正在开放的端口号。
$ netstat -an | grep LISTEN
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
从上面的示例可以看出,当前系统中有三个正在开放的端口号(3306、22、80),分别是MySQL数据库、SSH和HTTP服务。
如果使用lsof
来查看端口号,可以执行如下命令:
$ lsof -i :80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 23510 root 6u IPv4 146237 0t0 TCP *:http (LISTEN)
nginx 23511 nginx 6u IPv4 146237 0t0 TCP *:http (LISTEN)
nginx 23512 nginx 6u IPv4 146237 0t0 TCP *:http (LISTEN)
nginx 23513 nginx 6u IPv4 146237 0t0 TCP *:http (LISTEN)
从上面的示例可以看出,当前系统中有四个Nginx进程正在使用端口号80。
4. 总结
在Linux系统中,查看端口号是一个十分重要的操作,可以帮助管理员了解当前系统的网络状况,从而及时采取措施保证系统的安全性。本文介绍了两个查看端口号的命令:netstat和lsof,并给出了详细的命令示例。