linux 端口没有进程号,「linux专栏」何为端口号?端口号和进程号如何互查?答案在这里...

何为端口号?端口号和进程号如何互查?这里我们来说一说,列举几种常见的查看方法。#linux专栏#

何为端口号?

在互联网时代的今天,每台联网的计算机都有自己的IP,这个IP好比是在互联网上的地址编号,是唯一的,这样才能通过IP地址正常通信。那么问题就来了,一台计算机它可能会提供多个服务,比如Apache服务、FTP服务、Email服务等等,通过IP地址来区分显示是不可能的。这个时候我们就需要用端口来进行区分,每个服务对应指定的端口,这样通过IP+端口就能唯一确定要访问的服务了。

1e390bf08f9604d4238999ae4bc811ee.png

为了统一整个互联网的端口和网络服务的对应关系,以便让所有的主机都能使用相同的机制来请求或提供服务,同一个服务使用相同的端口,这就是协议。

计算机中的协议主要分为两大类:面向连接的可靠的TCP协议(Transmission Control Protocol,传输控制协议);面向无连接的不可靠的UDP协议(User Datagram Protocol,用户数据报协议)。这么多的端口,我们该如何知道哪个端口对应哪个呢?其实在linux系统中,提供了/etc/services的文件,可以进行查看。

端口号和进程查看方法

端口号和进程号的查看方法有很多种,以下我们列举几个常见的查看方法,大家只需要选择适合自己的用法即可。

1、ss 命令

ss命令一般用于转储套接字统计信息,类似于 netstat 输出的信息,但它显示了更多的 TCP 信息和状态信息。它还可以显示所有类型的套接字统计信息,包括 PACKET、TCP、UDP、DCCP、RAW、Unix 域等。

[root@localhost ~]# ss -tnlp | grep dmserverState Recv-Q Send-Q Local Address:Port Peer Address:PortLISTEN 0 5 *:5900 *:* users:LISTEN 0 128 :::5236 :::* users:(("dmserver",pid=7060,fd=4))

2、netstat 命令

netstat 可以显示网络连接、路由表、接口统计信息、伪装连接以及多播成员。个人还是觉得ss命令更好用。

[root@localhost ~]# netstat -tnlpActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program nametcp6 0 0 :::4236 :::* LISTEN 7059/dmaptcp6 0 0 :::5236 :::* LISTEN 7060/dmservertcp6 0 0 :::22 :::* LISTEN 6831/sshd

3、fuser 命令

fuser 工具会将本地系统上打开了文件的进程的进程 ID 显示在标准输出中,一般通过端口去查看对应的进程和和用户。

[root@localhost ~]# fuser -v 5236/tcp用户 进程号 权限 命令5236/tcp: dmdba 7060 F.... dmserver

4、systemctl 命令

systemctl 是 systemd 系统的控制管理器和服务管理器,通过systemctl可以查看服务的具体运行信息,包括PID、是否自启、启动命令等。很遗憾,通过该命令只能查看到对应的PID进程号,如果要查看对应的端口号,可以通过本文中其他端口号、进程号查看方法进行互查。

[root@localhost ~]# systemctl status DmServiceDMSERVER.service● DmServiceDMSERVER.service - DM database instance serviceLoaded: loaded (/usr/lib/systemd/system/DmServiceDMSERVER.service; enabled; vendor preset: disabled)Active: active (running) since 一 2021-03-22 16:33:05 CST; 15h agoProcess: 6837 ExecStart=/soft/dmdb/bin/DmServiceDMSERVER start (code=exited, status=0/SUCCESS)Main PID: 7060 (dmserver)Tasks: 54CGroup: /system.slice/DmServiceDMSERVER.service└─7060 /soft/dmdb/bin/dmserver /soft/dmdb/data/DAMENG/dm.ini -noconsole3月 22 16:32:48 localhost.localdomain systemd[1]: Starting DM database instance service...3月 22 16:33:05 localhost.localdomain DmServiceDMSERVER[6837]: [39B blob data]3月 22 16:33:05 localhost.localdomain systemd[1]: Started DM database instance service.

5、 lsof 命令

lsof 能够列出打开的文件,并列出系统上被进程打开的文件的相关信息。

[root@localhost ~]# lsof -i:5236COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEdmserver 7060 dmdba 4u IPv6 46668 0t0 TCP *:padl2sim (LISTEN)

在实际工作中,我们经常需要查看端口号和进程号信息,掌握其查看方法非常有必要。

举报/反馈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值