linux 埠號分配

2021-08-07 11:14:00 字數 3192 閱讀 4677

埠號分配

tcp和udp採用16b的埠號來識別應用程式。那麼這些埠號是如何選擇的呢?

伺服器一般都是通過知名埠號來識別的。例如,對於tcp/ip實現來說,每個ftp伺服器的tcp埠號都是21,每個telnet伺服器的tcp埠號都是23,每個tftp(普通檔案傳輸協議)伺服器的udp埠號都是69。任何tcp/ip實現所提供的服務都用知名的1~1 023之間的埠號。這些知名埠號由internet號分配機構(internet assigned numbers authority, iana)來管理。到2023年為止,知名埠號介於1~255之間。256~1 023之間的埠號通常都是由unix系統占用,以提供一些特定的unix服務,也就是說,提供一些只有unix系統才有的,而其他作業系統可能不提供的服務。現在iana管理1~1 023之間所有的埠號。

internet擴充套件服務與unix特定服務之間的乙個差別就是telnet和rlogin,它們二者都允許通過計算機網路登入到其他主機上。telnet是採用埠號為23的tcp/ip標準,且幾乎可以在所有作業系統上進行實現。相反,rlogin最開始時只是為unix系統設計的(儘管許多非unix系統現在也提供該服務),因此在20世紀80年代初,它的埠號為513,客戶端通常對它所使用的埠號並不關心,只須保證該埠號在本機上是唯一的即可。客戶端口號又稱做臨時埠號(即存在時間很短暫),這是因為它通常只是在使用者執行該客戶程式時才存在,而伺服器則只要主機開著,其服務就執行。

大多數tcp/ip實現給臨時埠分配1 024~5 000之間的埠號。大於5 000的埠號是為其他伺服器預留的(internet上並不常用的服務)。我們可以在後面看見許多給臨時埠分配埠號的例子。大多數linux系統的檔案/etc/services都包含了人們熟知的埠號。為了找到telnet服務,可以執行以下語句:「grep telnet /etc/services」。表1-3是一些常用tcp服務和埠。

表1-3  常用tcp服務和埠

tcp 埠

服務名

功能 7

echo

echo字元(用於測試) 9

discard

丟棄字串(用於測試) 13

daytime

日期服務 19

chargen

字元生成器 21

ftp檔案傳輸協議(

ftp) 22

ssh 安全

shell

(虛擬終端或檔案傳輸) 23

telnet

遠端登入 25

smtp

電子��件 37

time

時間服務 42

nameserve

tcp名字服務 43

whois

nic whois服務

53 domain

網域名稱服務(

dns) 79

finger

使用者資訊 80

www(全球資訊網)

110pop3

郵局協議3(

pop3)

111

sunrpc

sun的遠端過程呼叫(

rpc)

113auth

遠端使用者名稱認證服務

119nntp

網路新聞傳輸協議(

nntp)

143

imap

互動式郵件訪問協議

443https 用

ssl加密的

512exec

在遠端unix

主機上執行命令

513login

登入到遠端

unix

主機(rlogin)

514

shell

從遠端unix

主機獲得

shell

(rsh)

續表 tcp 埠

服務名

功能515

printer

遠端列印

1080

socks

socks

應用**服務

2049

nfstcp

之上的nfs

(nfs over tcp)

6000~6001 x

x window系統

udp為執行於同一臺或不同機器之上的兩個或多個程式之間傳輸資料報提供了簡單的、不可靠的連線。「不可靠」意味著作業系統不保證每個發出的包都能到達,也不保證包能夠按序到達。不過udp是盡力傳輸的,在lan中udp通常能達到100%的可靠性。udp的優點在於它比tcp的開銷少,較少的開銷使得基於udp的服務可以用tcp 10倍的吞吐量傳輸資料。

udp主要用於sun的nfs、nis、主機名解析和傳輸路由資訊。對於有些服務而言,偶然丟失乙個包並不會帶來太大的負面影響,因為它們會周期性地請求乙個新包,或者那些包本身並不是很重要。這些服務包括who、talk和一些時間服務。表1-4是一些常用udp服務和埠。

表1-4  常見udp服務和埠

udp埠 服

務名 功

能 7

echo

在另乙個資料報中返回使用者的資料 9

discard

什麼也不做 13

daytime

返回日期 19

chargen

字元生成器 37

time

返回時間 53

domain

網域名稱服務(

dns) 69

tftp

普通檔案傳輸協議

111sunrpc

sun的遠端過程呼叫(

rpc)

123ntp

網路時間協議(

network time protocol

,ntp)

161

snmp

簡單網路管理協議

512biff

新郵件提示

513who

收集關於使用者登入到同一子網的其他機器的廣播

514syslog

系統日誌工具

517talk 傳送

talk請求

518

ntalk

乙個「新」的

talk請求

520

route

路由資訊協議

533netwall

寫每個使用者的終端

2049

nfs網路檔案系統協議(

nfs)

linux 檢視埠號

在使用linux系統的過程中,有時候會遇到埠被占用而導致服務無法啟動的情況。比如http使用80埠,但當啟動apache時,卻發現此埠正在使用。這種情況大多數是由於軟體衝突 或者預設埠設定不正確導致的,此時需要檢視究竟哪個程序占用了埠,來決定進一步的處理方法。root ubuntuserver0 h...

linux下檢視埠號

前段時間在做hadoop相關的工作,會用到很多整合商的框架,比如cdh ambari,安裝好以後,啟動,想用web頁面開啟去檢視job進度或者是hdfs相關的工作,埠號有可能會和原生的埠號不太一樣,去配置檔案裡面找的話,比較麻煩。介紹乙個命令 netstat 命令用於顯示各種網路相關資訊,如網路連線...

linux 修改ssh埠號

1 配置埠號首先要找到 ssh配置檔案 vim etc ssh sshd config2 找到下面這一行 prot 22修改為 port xx3 重啟ssh systemctl restart sshd.service或者 service sshd restart此時退出系統重新登陸 ssh use...