新聞中心
在網(wǎng)絡(luò)通信過程中,端口號(hào)是非常重要的,它是計(jì)算機(jī)與網(wǎng)絡(luò)之間信息交流的通道。在Linux系統(tǒng)中,我們可以通過查看端口與服務(wù)對(duì)應(yīng)表,了解當(dāng)前哪些服務(wù)正在運(yùn)行,以及它們占用的端口號(hào),方便我們對(duì)服務(wù)器進(jìn)行管理和配置。本文將介紹,幫助讀者深入了解端口和服務(wù)之間的關(guān)系。

1. 端口的基本概念與作用
在網(wǎng)絡(luò)通信中,計(jì)算機(jī)有兩個(gè)十分重要的地址:IP地址和端口號(hào)。IP地址代表了計(jì)算機(jī)在網(wǎng)絡(luò)上的位置,而端口號(hào)決定了數(shù)據(jù)包從哪里進(jìn)入進(jìn)程。每個(gè)網(wǎng)絡(luò)應(yīng)用都需要使用端口號(hào)來進(jìn)行通信,端口號(hào)可以看作是一個(gè)標(biāo)識(shí),用來區(qū)分不同的應(yīng)用程序。
在Linux系統(tǒng)中,端口范圍從0到65535,其中0-1023是保留端口,大部分都被系統(tǒng)或者需要特權(quán)的應(yīng)用程序使用。從1024開始的端口,又稱為動(dòng)態(tài)端口或私有端口,它們通常被一些普通應(yīng)用程序使用。
2. 端口和服務(wù)之間的對(duì)應(yīng)關(guān)系
每個(gè)端口對(duì)應(yīng)的服務(wù)可能有很多種,但是基本服務(wù)和端口的對(duì)應(yīng)關(guān)系是比較固定的,我們可以通過查看來了解不同端口對(duì)應(yīng)的服務(wù)。下面是一份常見的端口與服務(wù)對(duì)應(yīng)表:
| 端口號(hào) | 服務(wù)/程序 |
| —— | —————— |
| 21 | FTP |
| 22 | SSH |
| 23 | Telnet |
| 25 | TP |
| 53 | DNS |
| 80 | HTTP |
| 110 | POP3 |
| 119 | NNTP |
| 123 | NTP |
| 139 | NetBIOS |
| 143 | IMAP |
| 161 | SNMP |
| 443 | HTTPS |
| 445 | B |
| 465 | TP(SSL) |
| 502 | Modbus |
| 514 | syslog |
| 873 | Rsync |
| 993 | IMAPS |
| 995 | POP3S |
| 1080 | SOCKS |
| 1521 | Oracle數(shù)據(jù)庫 |
| 3306 | MySQL數(shù)據(jù)庫 |
| 5432 | PostgreSQL數(shù)據(jù)庫 |
| 5900 | VNC |
| 6379 | Redis |
| 8080 | HTTP(備選端口) |
| 9090 | Tomcat |
| 9999 | Java RMI |
3. 如何查看
在Linux系統(tǒng)中,我們可以通過命令行工具來查看當(dāng)前的端口狀態(tài),以及與之對(duì)應(yīng)的服務(wù)。下面是一些常用的查看端口的命令:
(1)netstat命令
netstat是用于監(jiān)控Linux系統(tǒng)網(wǎng)絡(luò)狀態(tài)的命令,使用它可以查看Linux端口和進(jìn)程之間的關(guān)系。
示例:
“`shell
$ netstat -ntpl
“`
這條命令可以列出所有TCP端口的狀態(tài)和對(duì)應(yīng)的進(jìn)程信息。其中:
-n:直接使用數(shù)字地址,不解析成域名或者服務(wù)名。
-t:僅顯示TCP端口。
-p:顯示進(jìn)程名或者進(jìn)程ID。
-l:僅顯示監(jiān)聽的端口。
(2)lsof命令
lsof是一款比較強(qiáng)大的Linux命令行工具,通常用于顯示運(yùn)行中的進(jìn)程所打開的文件。除此之外,lsof還可以將端口號(hào)和應(yīng)用程序建立的連接進(jìn)行列表化。
示例:
“`shell
$ lsof -i :80
“`
這條命令可以查看占用80端口的進(jìn)程和程序。其中:
-i:指定網(wǎng)絡(luò)相關(guān)的文件類型。
:80:指定要查看的端口號(hào)。
4. 小結(jié)
本文介紹了,介紹了端口號(hào)的基本概念和作用,以及具體的端口和服務(wù)之間的對(duì)應(yīng)關(guān)系。同時(shí),本文通過兩個(gè)常用的命令(netstat和lsof)介紹了如何查看當(dāng)前Linux系統(tǒng)中的端口和服務(wù)狀態(tài),以便管理員對(duì)服務(wù)器進(jìn)行管理和配置。對(duì)于Linux系統(tǒng)的初學(xué)者來說,合理掌握端口號(hào)和服務(wù)之間的對(duì)應(yīng)關(guān)系,對(duì)于系統(tǒng)的監(jiān)控、管理和維護(hù),都是非常重要的。
相關(guān)問題拓展閱讀:
- linux查看端口被哪個(gè)服務(wù)占用的命令
- linux系統(tǒng)中默認(rèn)端口是9000的
linux查看端口被哪個(gè)服務(wù)占用的命令
1)使用lsof命令
lsof是一個(gè)非常強(qiáng)大的linux工具,她被用來查找哪些程序使用了那些文件。在linux系統(tǒng)下,基本上所有的東西都可以被當(dāng)作文件來用。socket當(dāng)然也是一種文件了。所以lsof可以用來查找誰用了某一個(gè)端口。具體方法:
lsof -i :port_number |grep “(LISTEN)”
-i是用來查找和網(wǎng)絡(luò)相關(guān)的文件,”:”號(hào)是必須的,它是標(biāo)志你查找的是一個(gè)端口。port_number就是你要查找的端口號(hào),譬如你要查找是否 有程序占用了oracle的監(jiān)聽端口1521,就可以使用lsof -i :1521 |grep “(LISTEN)”。如果有程序已經(jīng)占用了,那么下面打印的第二個(gè)字段就是該程序的進(jìn)程id,之一個(gè)字段是進(jìn)程的名字。
如果只有l(wèi)osf -i :port_number可能會(huì)查到很多應(yīng)用程序,但這些程序?qū)嶋H并沒有占用你指定的端口,這些端口只是連接到本機(jī)器或者別的機(jī)器的該端口。所以要grep “(LISTEN)“,因?yàn)橐粋€(gè)端口只可能被一個(gè)程序占用的,所以這種方法是可靠的。
2)使用netstat 命令
大家一定對(duì)這個(gè)禪租命令比較熟悉了,可能你從沒有想到用到來查找哪賀芹兆一個(gè)程序的占用了指定的首孝端口。但是netstat -an 的確提供了這種功能。所以有問題了一定要想到先去查找man手冊(cè),不過說實(shí)話,某些man手冊(cè)寫得讓中國(guó)人看不懂,那沒有辦法了,就googe或者 baidu一下吧。
執(zhí)行man netstat命令,你會(huì)發(fā)現(xiàn)netstat 提供了’-p’的選項(xiàng),這個(gè)選項(xiàng)的功能是告訴你哪個(gè)程序占用了該端口,但是她提供的形式比較古怪是以pid/process_name提供的。pid當(dāng)然 是進(jìn)程id了,process_name是進(jìn)程的命令,中間以’/’號(hào)分隔。
和上面的原因一樣,我們只查找listen的端口,netstat 給我們提供了-l的選項(xiàng),這個(gè)選項(xiàng)不是默認(rèn)的選項(xiàng)。
下面以1521端口來看怎么查找到該程序,我們使用下面的命令:
netstat -lnp|awk ‘BEGIN{prt=”:1521$”}{if ($4 ~ prt) print $0}’
在這里使用awk來匹配第4個(gè)字段的模式是為了避免誤判。
linux系統(tǒng)中默認(rèn)端口是9000的
一、端口和服務(wù)的關(guān)系
端口號(hào)與相應(yīng)服務(wù)的對(duì)應(yīng)關(guān)系存放在/etc/services文件中,這個(gè)文件中可以找到大部分端口。使用netstat命令
顯示的服務(wù)名稱也是從這個(gè)文件中找的。有人說將這個(gè)文件中的相應(yīng)端口號(hào)注釋掉,就可以禁用該端口。
我試了卻不起作用,這種方法應(yīng)該是沒有用的,是誤傳!將相應(yīng)端口號(hào)注釋掉,唯一的作用就是使用netsat
命令時(shí),將不顯示服務(wù)名(比如ftp)而是顯示端口號(hào)(比如21)。原理也很簡(jiǎn)單:netstat無法在/etc/services
文件中找到端口號(hào)對(duì)應(yīng)的服務(wù)名,自然就無法顯示了。所以/etc/services文件只是起到端口號(hào)與相應(yīng)服務(wù)的
映射關(guān)系,與端口的啟動(dòng)和關(guān)閉沒有關(guān)系!
二、查看本機(jī)開放的端口
1、netstat 查看端口和連接
netstat 列出目前已經(jīng)連接的服務(wù)名
netstat -a 列出目前已經(jīng)連接的和正在監(jiān)聽的服務(wù)名
netstat -an 列出目前已經(jīng)連接的和正在監(jiān)聽的端口號(hào)(與上面的命令功能一樣,只是不解釋端口號(hào)對(duì)應(yīng)的服務(wù)名)
netstat -ap 在上面命令的基礎(chǔ)上列出連接的PID(進(jìn)歲虧程號(hào)),用這個(gè)PID,可以使用KILL 來殺死連接
例如:某個(gè)連接的PID=111,想踢出去就使用 KILL。ok!
netstat -rn 輸出路由表
2、nmap
nmap 127.0.0.1 查看本機(jī)開放的端口,會(huì)掃描所有端口
nmap -p? 127.0.0.1 掃描指定端口范圍
nmap -PT 192.168.1.1-111? 掃描一組范圍的電腦
三、關(guān)閉和開啟端口(服務(wù))
關(guān)閉端口的方法:
1、因?yàn)槊總€(gè)端口都有對(duì)應(yīng)的服務(wù),因此要關(guān)閉端口只要關(guān)閉相應(yīng)的服務(wù)就可以了。
2、用IPTABLE對(duì)端口進(jìn)行限制,這樣也能使端口不被訪問,但端口本身并沒有關(guān)閉。
在這兒只介紹關(guān)閉服務(wù)的方法,IPTABLE的應(yīng)用以后再討論。
linux中開機(jī)自動(dòng)啟動(dòng)的服務(wù)一般都存放在兩個(gè)地方:
/etc/init.d/文件夾下的服務(wù):
這個(gè)文件夾下的服務(wù)都可以通過運(yùn)行相應(yīng)的SCRIPT來啟動(dòng)或關(guān)閉。
例如:?jiǎn)?dòng)sendmail服務(wù) ./sendmail start (打開了TCP 25端口)
關(guān)閉sendmail服務(wù) ./sendmail stop (關(guān)閉TCP 25 端口)
查看sendmail服務(wù)當(dāng)前狀態(tài) ./sendmail? status (查看服務(wù)是否運(yùn)行)
/etc/xinetd.d/文件夾下的服務(wù):
這個(gè)文件夾下的服務(wù)需要通過更改服務(wù)的配置文件,并重新啟動(dòng)xinetd才可以。
例如:要啟動(dòng)其中的auth服務(wù),打開/etc/xinetd.d/auth配置文件,更改“disable=no”,保存退出。運(yùn)行/etc/rc.d/init.d/xinetd restart
要停止其中的auth服務(wù),打開/etc/xinetd.d/auth配置文件,更改“disable=yes”,保存退出。運(yùn)行/etc/rc.d/init.d/xinetd restart
四、控制開機(jī)自動(dòng)啟動(dòng)的服務(wù)
上面說的控制服務(wù)開關(guān)方法是在啟動(dòng)linux之后進(jìn)行操作的,如果我想在linux啟動(dòng)時(shí)控制哪些服務(wù)啟動(dòng)、哪些服務(wù)關(guān)閉怎么做
控制服務(wù)自動(dòng)啟動(dòng)的方法有3個(gè):
1、更改/etc/rc.d下的對(duì)應(yīng)文件夾:
如果你登陸的默認(rèn)界面是字符界面,那么修改rc.3文件夾,如果登陸界面默認(rèn)是圖形界面,那么修改rc.5。
在文件夾中,每個(gè)服務(wù)的名字前都帶有“K”或“S”,S就代表這個(gè)服務(wù)開機(jī)自動(dòng)運(yùn)行了,把它刪了或前綴改為“K”下次就不會(huì)啟動(dòng)了。
2、使用ntsysv命令:
輸入ntsysv命令,將會(huì)出現(xiàn)一個(gè)服務(wù)列表,需要啟動(dòng)的打“*”,簡(jiǎn)單。
3、使用chkconfig命令:
讓某個(gè)服務(wù)不自動(dòng)啟動(dòng):例如httpd:chkconfig –level 35 httpd? off ;35指的是運(yùn)行級(jí)別
讓某個(gè)服務(wù)自動(dòng)啟動(dòng):例如httpd:chkconfig –level 35 httpd? on ;伍源
查看所有服務(wù)的啟動(dòng)狀態(tài):chkconfig –list
查看某個(gè)腔雀態(tài)服務(wù)的啟動(dòng)狀態(tài):chkconfig –list |grep httpd
端口和服務(wù)的操作就到這兒吧。
php的fastcgi端口,可以通過lsof -i:9000命令,查看端口進(jìn)程詳細(xì)情況
linux端口的對(duì)應(yīng)服務(wù)的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux端口的對(duì)應(yīng)服務(wù),Linux端口與服務(wù)對(duì)應(yīng)表,linux查看端口被哪個(gè)服務(wù)占用的命令,linux系統(tǒng)中默認(rèn)端口是9000的的信息別忘了在本站進(jìn)行查找喔。
成都創(chuàng)新互聯(lián)建站主營(yíng):成都網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、網(wǎng)站改版的網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、成都網(wǎng)站推廣、成都網(wǎng)站優(yōu)化seo、響應(yīng)式移動(dòng)網(wǎng)站開發(fā)制作等網(wǎng)站服務(wù)。
分享題目:Linux端口與服務(wù)對(duì)應(yīng)表(linux端口的對(duì)應(yīng)服務(wù))
網(wǎng)頁地址:http://m.5511xx.com/article/cdeojec.html


咨詢
建站咨詢
