1. 河豚號 > 生活百科 >

服務(wù)器端口號怎么看(常用協(xié)議端口號大全)

盡管搞IT多年,但一些基本性的概念卻依舊似懂非懂,就好比說什么是端口號?你說知道吧,確實知道,每個程序都有個自己的端口號,有些都是約定俗稱的,比如FTP端口21、SFTP端口22、IIS端口80等等??墒亲屇闳ゼ毤毥忉屢幌?,還真不一定能回答上來。

 

「linux專欄」什么是端口號?如何查看端口號信息?

 

什么是端口號?

我們都知道,每臺聯(lián)網(wǎng)的計算機都有自己的IP,這個IP好比是在互聯(lián)網(wǎng)上的地址編號,是唯一的,這樣才能通過IP地址正常通信。那么問題就來了,一臺計算機它可能會提供多個服務(wù),比如Apache服務(wù)、FTP服務(wù)、Email服務(wù)等等,通過IP地址來區(qū)分顯示是不可能的。這個時候我們就需要用端口來進行區(qū)分,每個服務(wù)對應指定的端口,這樣通過IP+端口就能唯一確定要訪問的服務(wù)了。

 

「linux專欄」什么是端口號?如何查看端口號信息?

 

為了統(tǒng)一整個互聯(lián)網(wǎng)的端口和網(wǎng)絡(luò)服務(wù)的對應關(guān)系,以便讓所有的主機都能使用相同的機制來請求或提供服務(wù),同一個服務(wù)使用相同的端口,這就是協(xié)議。

計算機中的協(xié)議主要分為兩大類:面向連接的可靠的TCP協(xié)議(Transmission Control Protocol,傳輸控制協(xié)議);面向無連接的不可靠的UDP協(xié)議(User Datagram Protocol,用戶數(shù)據(jù)報協(xié)議)。這么多的端口,我們該如何知道哪個端口對應哪個呢?其實在linux系統(tǒng)中,提供了/etc/services的文件,可以進行查看。

 

「linux專欄」什么是端口號?如何查看端口號信息?

 

端口信息查看方法(進程號與的端口號均可查看)

以下的命令較多,詳細的用法不必深究,先記住固定用法,后期遇到了再細講。

方法 1:使用 ss 命令

ss 一般用于轉(zhuǎn)儲套接字統(tǒng)計信息,類似于 netstat 輸出的信息,但它顯示了更多的 TCP 信息和狀態(tài)信息。它還可以顯示所有類型的套接字統(tǒng)計信息,包括 PACKET、TCP、UDP、DCCP、RAW、Unix 域等。

[root@localhost ~]# ss -tnlp | grep dmserver

State Recv-Q Send-Q Local Address:Port Peer Address:Port

LISTEN 0 5 *:5900 *:* users:

LISTEN 0 128 :::5236 :::* users:(("dmserver",pid=7060,fd=4))

[root@localhost ~]#

方法 2:使用 netstat 命令

netstat 能夠顯示網(wǎng)絡(luò)連接、路由表、接口統(tǒng)計信息、偽裝連接以及多播成員。既然已經(jīng)會用ss的高級命令了,就忘記它吧。

[root@localhost ~]# netstat -tnlp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp6 0 0 :::4236 :::* LISTEN 7059/dmap

tcp6 0 0 :::5236 :::* LISTEN 7060/dmserver

tcp6 0 0 :::22 :::* LISTEN 6831/sshd

tcp6 0 0 ::1:631 :::* LISTEN 6832/cupsd

tcp6 0 0 ::1:25 :::* LISTEN 7225/master

[root@localhost ~]#

方法 3:使用 fuser 命令

fuser 工具會將本地系統(tǒng)上打開了文件的進程的進程 ID 顯示在標準輸出中,一般通過端口去查看對應的進程和和用戶。

[root@localhost ~]# fuser -v 5236/tcp

用戶 進程號 權(quán)限 命令

5236/tcp: dmdba 7060 F.... dmserver

方法 4:使用 nmap 命令

nmap(“Network Mapper”)是一款用于網(wǎng)絡(luò)檢測和安全審計的開源工具。它最初用于對大型網(wǎng)絡(luò)進行快速掃描,但它對于單個主機的掃描也有很好的表現(xiàn)。

nmap 使用原始 IP 數(shù)據(jù)包來確定網(wǎng)絡(luò)上可用的主機,這些主機的服務(wù)(包括應用程序名稱和版本)、主機運行的操作系統(tǒng)(包括操作系統(tǒng)版本等信息)、正在使用的數(shù)據(jù)包過濾器或防火墻的類型,以及很多其它信息。

[root@localhost ~]# nmap -sV -p 5236 localhost

Starting Nmap 6.40 ( http://nmap.org ) at 2021-01-01 00:23 CST

mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers

Nmap scan report for localhost (127.0.0.1)

Host is up (0.00031s latency).

Other addresses for localhost (not scanned): 127.0.0.1

PORT STATE SERVICE VERSION

5236/tcp open tcpwrapped

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .

Nmap done: 1 IP address (1 host up) scanned in 10.91 seconds

可以看出,對于普通用戶來說,該命令似乎并不好用,也看得不大懂,還需要注意的是該命令一般不會默認安裝,需要額外安裝。

方法 5:使用 systemctl 命令

systemctl 是 systemd 系統(tǒng)的控制管理器和服務(wù)管理器,通過systemctl可以查看服務(wù)的具體運行信息,包括PID、是否自啟、啟動命令等。很遺憾,通過該命令只能查看到對應的PID進程號,如果要查看對應的端口號,可以通過本文中其他端口號、進程號查看方法進行互查。

[root@localhost ~]# systemctl status DmServiceDMSERVER.service

● DmServiceDMSERVER.service - DM database instance service

Loaded: loaded (/usr/lib/systemd/system/DmServiceDMSERVER.service; enabled; vendor preset: disabled)

Active: active (running) since 一 2021-03-22 16:33:05 CST; 15h ago

Process: 6837 ExecStart=/soft/dmdb/bin/DmServiceDMSERVER start (code=exited, status=0/SUCCESS)

Main PID: 7060 (dmserver)

Tasks: 54

CGroup: /system.slice/DmServiceDMSERVER.service

└─7060 /soft/dmdb/bin/dmserver /soft/dmdb/data/DAMENG/dm.ini -noconsole

3月 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.

[root@localhost ~]#

方法 6:使用 lsof 命令

lsof 能夠列出打開的文件,并列出系統(tǒng)上被進程打開的文件的相關(guān)信息。

[root@localhost ~]# lsof -i:5236

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

dmserver 7060 dmdba 4u IPv6 46668 0t0 TCP *:padl2sim (LISTEN)

總體來說,進程號和端口號查看的辦法雖然很多,但在實際工作中,我們只需要掌握一種自己認為最好用的命令就可以了。后期會根據(jù)情況對相關(guān)命令進行復盤,詳細介紹其用法。

本文由網(wǎng)上采集發(fā)布,不代表我們立場,轉(zhuǎn)載聯(lián)系作者并注明出處:http://m.zltfw.cn/shbk/44750.html

聯(lián)系我們

在線咨詢:點擊這里給我發(fā)消息

微信號:15705946153

工作日:9:30-18:30,節(jié)假日休息