信息在Linux中查询端口服务信息(linux查询端口服务)
在Linux中出尔可查询某个特定端口所使用的服务信息,有时 对端口的相关信息也很有用处,比如服务信息、端口所使用的协议等。
即使只是做一些简单的操作,对端口的信息查询也是一个通用的任务,因此 Linux系统提供了一些工具来帮助开发者快速获取特定端口服务信息。
首先,要查询端口服务详情,可以使用“netstat”命令,它可以显示本机服务器开放的有效端口,也可以把这些端口与实际占用的应用进程进行关联。这里,“-ltpu”参数可以查看端口服务状态:
# netstat -ltpu
Active internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 10.2.0.123:5701 0.0.0.0:* LISTEN 1657/zookeeper
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1671/mysqld
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 1633/vsftpd
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1642/nginx
可以看到,上面列出了本机上打开的几个服务:zookeeper,mysqld,vsftpd和nginx等等,他们都在以其相应的协议类型(tcp)和端口号(5701、3306、21和80)监听本机的各端口请求。
另外,也可以使用“lsof”命令,它可以显示某指定端口与进程的关联:
# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 1642 root 6u IPv4 23684 0t0 TCP *:http (LISTEN)
输出的结果中, 显示的有进程的命令名、进程ID、账户名、方式、协议、端口号等,其中“COMMAND”一栏显示的即为和这个端口号关联的服务程序,从而很容易获取端口号所对应的服务名称。
此外,也可以使用“/etc/services”文件来查询端口号与所使用的服务信息,/etc/services 文件被用来定义系统中各个服务对应使用的端口号,以及 Well Known 和 Registered 的服务名。使用grep或者egrep等工具,可以在这个文件中搜索:
# grep ‘http’ /etc/services
http 80/tcp www www-http # World Wide Web HTTP
http 80/udp
通过这种方式,可以非常方便的查询到某个端口号所使用的服务信息。
综上所述,Linux系统给我们提供了多种不同的方式来查询端口号对应的服务信息,上面的几种方法均为常用的工具,让我们能够更好的查询端口信息、管理进程和服务。