新聞中心
在Linux系統(tǒng)中,端口是一個(gè)重要的概念。可以用來(lái)標(biāo)識(shí)一臺(tái)計(jì)算機(jī)上的服務(wù)。沒(méi)有端口,計(jì)算機(jī)就不能與其他計(jì)算機(jī)進(jìn)行通信,也不能提供各種服務(wù)。對(duì)于Linux系統(tǒng)來(lái)說(shuō),0端口也是一個(gè)比較特殊的端口,其作用與應(yīng)用有很多值得研究的地方。

在長(zhǎng)沙等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶(hù)提供做網(wǎng)站、網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需搭建網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),全網(wǎng)營(yíng)銷(xiāo)推廣,外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè),長(zhǎng)沙網(wǎng)站建設(shè)費(fèi)用合理。
0端口的定義
在TCP/IP協(xié)議中,每個(gè)服務(wù)都需要提供一個(gè)的端口號(hào)。通過(guò)端口號(hào),TCP/IP協(xié)議才可以將數(shù)據(jù)包送到正確的進(jìn)程中。端口號(hào)的范圍為0-65535,其中0-1023是必須保留的端口,常被稱(chēng)為“知名端口”,是機(jī)器上常用的一些服務(wù)端口,比如HTTP服務(wù)使用的端口號(hào)為80,F(xiàn)TP服務(wù)使用的端口號(hào)為21。
由于0端口和1023以?xún)?nèi)的端口屬于知名端口,在Linux系統(tǒng)中,0端口歸系統(tǒng)保留,不能被一些應(yīng)用程序直接使用。0端口通常被用來(lái)綁定一些特殊服務(wù)。
0端口的作用
在Linux系統(tǒng)中,0號(hào)口主要扮演以下幾個(gè)角色:
1. RPC綁定
在Linux中,Remote Procedure Call (RPC)是一種用于遠(yuǎn)程通信的協(xié)議,基于此協(xié)議的程序需要一個(gè)端口來(lái)進(jìn)行通信。通常情況下,這個(gè)端口就是0號(hào)端口。RPC綁定方式可以是TCP或UDP或者其他協(xié)議方式。
2.管理某些系統(tǒng)調(diào)用
在Linux內(nèi)核中,一些系統(tǒng)調(diào)用可以通過(guò)端口0來(lái)響應(yīng)。這些系統(tǒng)調(diào)用常常是內(nèi)部實(shí)現(xiàn)機(jī)制,用于模塊的加載和組件之間的通信,因此不需要明確的端口號(hào)。在這種情況下,端口0是一種更方便和簡(jiǎn)單的方法來(lái)管理調(diào)用。
3.監(jiān)聽(tīng)所有IP地址和所有TCP端口
通過(guò)將0號(hào)口綁定到INADDRY_ANY地址,進(jìn)程即可監(jiān)聽(tīng)所有IP地址和所有TCP端口。例如,在FTP服務(wù)端,一個(gè)服務(wù)器進(jìn)程可以已經(jīng)明確開(kāi)放了FTP的21端口,但由于客戶(hù)端可能使用任何源IP地址,0號(hào)口也必須被綁定,以監(jiān)聽(tīng)客戶(hù)端的請(qǐng)求。
4. 斷言root權(quán)限
在一些特殊服務(wù)需要root權(quán)限的時(shí)候,可以嘗試先bind到端口0,如果bind成功,則意味著啟動(dòng)進(jìn)程有root權(quán)限,反之則沒(méi)有。
0端口的應(yīng)用
0號(hào)端口在Linux系統(tǒng)中有許多應(yīng)用,值得一提的包括:
1. NFS
NFS是Unix和Linux系統(tǒng)之間使用的一個(gè)文件共享系統(tǒng)。NFS服務(wù)在Linux系統(tǒng)中使用0號(hào)端口來(lái)啟動(dòng)服務(wù)程序,并監(jiān)聽(tīng)RPC綁定請(qǐng)求。
2. X11
X11(X Window System)是一種圖形界面系統(tǒng),用于UNIX和Linux等操作系統(tǒng)。在Linux中,X11可以隨時(shí)啟動(dòng),讓用戶(hù)通過(guò)X服務(wù)器訪(fǎng)問(wèn)遠(yuǎn)程圖形化的程序。X11服務(wù)使用0號(hào)口來(lái)監(jiān)聽(tīng)遠(yuǎn)程客戶(hù)端的請(qǐng)求。
3. MySQL
MySQL是一種流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。在Linux中,MySQL服務(wù)也使用0號(hào)口來(lái)監(jiān)聽(tīng)客戶(hù)端的請(qǐng)求,以便快速處理數(shù)據(jù)庫(kù)數(shù)據(jù)。
4. DNS
在Linux中,DNS服務(wù)器也可以使用0口來(lái)監(jiān)聽(tīng)請(qǐng)求,讓用戶(hù)能夠?qū)⒂蛎馕鰹镮P地址。
綜上所述,0號(hào)口在Linux系統(tǒng)中是一個(gè)比較特殊的端口,具有很多不同的作用和應(yīng)用。雖然0號(hào)口不能直接使用,但是了解0號(hào)口的作用和應(yīng)用有助于深入理解計(jì)算機(jī)網(wǎng)絡(luò)和Linux系統(tǒng)的工作原理,為在Linux系統(tǒng)上開(kāi)發(fā)和管理服務(wù)軟件提供了必要的基礎(chǔ)知識(shí)。
相關(guān)問(wèn)題拓展閱讀:
- Linux篇:Linux 端口被占用如何解決?
- linux 如何查看服務(wù)和端口
Linux篇:Linux 端口被占用如何解決?
最近在linux服務(wù)器上部署應(yīng)用,總是出現(xiàn)端口被占用的情況,有時(shí)關(guān)閉軟件,kill進(jìn)程也會(huì)出現(xiàn)端口占用。
下面以80端口為例,列出詳細(xì)解決過(guò)程
1.查找被占用的端口
COMMAND PID USER FD TYPE DEVICE SIZE/橡擾OFF NODE NAME
Java4576 rootu IPv6 并跡tTCP *:pcsync-https (LISTEN)
# netstat -anp 查看端口使用情況
# netstat -anp | grep 80 只查看端口80的使用情況
2.查看端口屬于哪個(gè)程序?端口被哪個(gè)進(jìn)程占用
3. 殺絕如并掉占用端口的進(jìn)程
linux 如何查看服務(wù)和端口
netstat/lsof
netstat命令用于顯示與IP、TCP、UDP和ICMP協(xié)議相關(guān)的統(tǒng)計(jì)數(shù)據(jù),一般用于檢驗(yàn)本機(jī)各端口的網(wǎng)絡(luò)連接情況
-a 顯示一個(gè)所有的有效連接信息列表(包括已建立的連接,也包括監(jiān)聽(tīng)連接請(qǐng)求的那些連接)
-n 顯示所有已建立的有效連接
-t tcp協(xié)議
-u udp協(xié)議
-l 查詢(xún)正在監(jiān)聽(tīng)的程序
-p 顯示亂態(tài)正在使用socket的程序識(shí)別碼和程序名稱(chēng)
例如:netstat -ntupl|grep processname
如何只查詢(xún)tomcat的連接?
netstat -na|grep ESTAB |grep 80 |wc-l
netstat -na|grep ESTAB |grep 8080 |wc-l
常用端口介紹:
端口:21
服務(wù):FTP服務(wù)器所開(kāi)放的端口,用于上傳、下載。
端口: 22
服務(wù):ssh
端口: 80
服務(wù):HTTP 用于網(wǎng)頁(yè)瀏覽
端口:389
服務(wù):LDAP ILS 輕型目錄訪(fǎng)問(wèn)協(xié)議和NetMeetingInternet Locator Server
端口:443
服務(wù):鏈畝網(wǎng)頁(yè)瀏覽端口 能提供加密和通過(guò)安全端口傳輸?shù)牧硪环NHTTP
端口:8080
服務(wù):代理端口
打開(kāi)終端,執(zhí)行如下命令,查看各進(jìn)程占用端口情況:
# ps -ef|wc -l //查看后臺(tái)運(yùn)行的進(jìn)程總數(shù)
# ps -fu csvn //查看csvn進(jìn)程
# netstat -lntp //查看開(kāi)啟了哪些端口
# netstat -r //本選項(xiàng)可以顯示關(guān)于路由表的信息
# netstat -a //本選項(xiàng)顯示一個(gè)所有的有效連接信息列表
# netstat -an|grep
# netstat -na|grep -i listen //可以看到目前系統(tǒng)偵聽(tīng)的端口號(hào)
# netstat -antup //查看已建立的連接進(jìn)程,所棚陪森占用的端口。
netstat -anp|grep1487
lsof -i:1487
可以通過(guò)netstat命令進(jìn)行簡(jiǎn)單查詢(xún)
netstat命令各個(gè)參數(shù)說(shuō)明如下:
-t : 指明顯示TCP端口
-u : 指明顯示UDP端口
-l : 僅顯示監(jiān)聽(tīng)套接字(所謂套接字就是使應(yīng)用程序能夠讀寫(xiě)與收發(fā)通訊協(xié)議(protocol)與資料的程序)
-p : 顯示進(jìn)程標(biāo)識(shí)符和程序名稱(chēng),每一個(gè)套接伏陪字升扮/端口都屬于一個(gè)程序。
-n : 不進(jìn)行DNS輪詢(xún),顯示IP(可以加速操作)
3
即可顯示當(dāng)前服缺笑蠢務(wù)器上所有端口及進(jìn)程服務(wù),于grep結(jié)合可查看某個(gè)具體端口及服務(wù)情況··
netstat -ntlp //查看當(dāng)前所有tcp端口·
netstat -ntulp |grep 80 //查看所有80端口使用情況·
netstat -an | grep//查看所有3306端口使用情況·
問(wèn):我該如何發(fā)現(xiàn)哪種服務(wù)正在某個(gè)特定端口上監(jiān)聽(tīng)呢?我如何發(fā)現(xiàn)哪一個(gè)程序正在一個(gè)特定端口上監(jiān)聽(tīng)呢? 答:在*NIX系統(tǒng)中,你可以使用下面的任何一個(gè)命令來(lái)得到在一個(gè)特定TCP端口上監(jiān)聽(tīng)的列表。 Lsof:其功能是列示打開(kāi)的文件,包括監(jiān)聽(tīng)端口。 netstat :此命令遲碧象征性地展示各種與網(wǎng)絡(luò)有關(guān)的數(shù)據(jù)和信息的內(nèi)容。 Lsof命令示例 你可以輸入下面的命令來(lái)查看IPv4端口: # lsof -Pnl +M -i4 你可以輸入下面的命令來(lái)查看IPv6協(xié)議下的端口列示: # lsof -Pnl +M -i6 此例輸出:這里我們不妨解釋一 下。之一欄是command,它給出了程序名稱(chēng)裂培的有關(guān)信息。請(qǐng)注意標(biāo)題的細(xì)節(jié)。例如,第二行的gweather* 命令從美國(guó) NWS服務(wù)器(140.90.128.70)獲取天氣的報(bào)告信息,包括交互天氣信息網(wǎng)絡(luò)和其它的天氣服務(wù)。在這里,我們解釋一下命令各個(gè)參數(shù)。 1. -P :這個(gè)選項(xiàng)約束著網(wǎng)絡(luò)文件的端口號(hào)到端口名稱(chēng)的轉(zhuǎn)換。約束轉(zhuǎn)換可以使lsof運(yùn)行得更快一些。在端口名稱(chēng)的查找不能奏效時(shí),這是很有用的。 2. -n : 這個(gè)選項(xiàng)約束著網(wǎng)絡(luò)文件的端口號(hào)到主機(jī)名稱(chēng)的轉(zhuǎn)換。約束轉(zhuǎn)換可以使lsof的運(yùn)行更快一些。在主機(jī)名稱(chēng)的查找不能奏效時(shí),它非常有用。 3. -l :這個(gè)選項(xiàng)約束著用戶(hù)ID號(hào)到登錄名的轉(zhuǎn)換。在登錄名的查找不正確或很慢時(shí),這個(gè)選項(xiàng)就很有用。 4. +M :此選項(xiàng)支持本地TCP和UDP端口映射程序的注冊(cè)報(bào)告。 5. -i4 :僅列示IPv4協(xié)議下的端口。 6. -i6 : 僅列示IPv6協(xié)議下的端口。 Netstaty命令舉例 請(qǐng)輸入下面的命令: # netstat -tulpn 或者是 # netstat -npl 請(qǐng)看輸出結(jié)果:: Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program nametcp 0 0 0.0.0.0:6881 0.0.0.0:* LISTEN 6908/pythontcp.0.0.1:631 0.0.0.0:* LISTEN 5562/cupsdtcp.0.0.1:3128 0.0.0.0:* LISTEN 6278/(squid)tcp.0.0.1:25 0.0.0.0:* LISTEN 5854/exim4udp 0 0 0.0.0.0:.0.0.0:* 6278/(squid)udp 0 0 0.0.0.0:3130 0.0.0.0:* 6278/(squid)udp 0 0 0.0.0.0:68 0.0.0.0:* 4583/dhclient3udp 0 0 0.0.0.0:6881 0.0.0.0:* 6908/python 請(qǐng)注意,最后一欄給出了關(guān)于程序名稱(chēng)和端口的信息。在這里,我們解釋一下各參數(shù)的含義: -t : 指明顯示TCP端口 -u : 指明顯示UDP端口 -l : 僅顯示監(jiān)聽(tīng)套接字(所謂套接字就是使應(yīng)用程序能夠讀寫(xiě)與收發(fā)通訊協(xié)議(protocol)與資料的程序) -p : 顯示進(jìn)程標(biāo)識(shí)符和程序名稱(chēng),每一個(gè)套接字/端口碼源舉都屬于一個(gè)程序。 -n : 不進(jìn)行DNS輪詢(xún)(可以加速操作) 關(guān)于/etc/services文件 /etc/services是一個(gè)純ASCII文件,它可以提供互聯(lián)網(wǎng)服務(wù)的友好文本名稱(chēng),還有其默認(rèn)分配的端口號(hào)和協(xié)議類(lèi)型。你可以借助于cat命令或less命令等來(lái)查看這個(gè)文件: $ cat /etc/services$ grep 110 /etc/services$ less /etc/services
linux 0端口的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux 0端口,Linux系統(tǒng)中0端口的作用與應(yīng)用,Linux篇:Linux 端口被占用如何解決?,linux 如何查看服務(wù)和端口的信息別忘了在本站進(jìn)行查找喔。
成都網(wǎng)站推廣找創(chuàng)新互聯(lián),老牌網(wǎng)站營(yíng)銷(xiāo)公司
成都網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)(www.cdcxhl.com)專(zhuān)注高端網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì)制作,網(wǎng)站維護(hù),網(wǎng)絡(luò)營(yíng)銷(xiāo),SEO優(yōu)化推廣,快速提升企業(yè)網(wǎng)站排名等一站式服務(wù)。IDC基礎(chǔ)服務(wù):云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)、服務(wù)器租用、服務(wù)器托管提供四川、成都、綿陽(yáng)、雅安、重慶、貴州、昆明、鄭州、湖北十堰機(jī)房互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)。
新聞名稱(chēng):Linux系統(tǒng)中0端口的作用與應(yīng)用 (linux 0端口)
當(dāng)前網(wǎng)址:http://m.fisionsoft.com.cn/article/cdhojso.html


咨詢(xún)
建站咨詢(xún)
