日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
linux端口及查詢方法詳解
服務(wù)是給系統(tǒng)提供功能的,在系統(tǒng)中除了有系統(tǒng)服務(wù),還有網(wǎng)絡(luò)服務(wù)。而每個網(wǎng)絡(luò)服務(wù)都有自己的端口,一般端口號都是固定的。那么,什么是端口呢?

創(chuàng)新互聯(lián)服務(wù)項目包括尼河口網(wǎng)站建設(shè)、尼河口網(wǎng)站制作、尼河口網(wǎng)頁制作以及尼河口網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,尼河口網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到尼河口省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

我們知道,IP 地址是計算機(jī)在互聯(lián)網(wǎng)上的地址編號,每臺聯(lián)網(wǎng)的計算機(jī)都必須有自己的 IP 地址,而且必須是唯一的,這樣才能正常通信。也就是說,在互聯(lián)網(wǎng)上是通過 IP 地址來確定不同計算機(jī)的位置的。

大家可以把 IP 地址想象成家庭的"門牌號碼",不管你住的是大雜院、公寓樓還是別墅,都有自己的門牌號碼,而且門牌號碼是唯一的。

如果知道了一臺服務(wù)器的 IP 地址,我們就可以找到這臺服務(wù)器。但是這臺服務(wù)器上有可能搭建了多個網(wǎng)絡(luò)服務(wù),比如 WWW 服務(wù)、FTP 服務(wù)、Mail 服務(wù),那么我們到底需要服務(wù)器為我們提供哪個網(wǎng)絡(luò)服務(wù)呢?這時就要靠端口(Port)來區(qū)分了,因為每個網(wǎng)絡(luò)服務(wù)對應(yīng)的端口都是固定的。

比如,WWW 服務(wù)對應(yīng)的端口是 80,F(xiàn)TP 服務(wù)對應(yīng)的端口是 20 和 21,Mail 服務(wù)對應(yīng)的端口是 25 和 110。也就是說,IP 地址可以想象成"門牌號碼",而端口可以想象成"家庭成員",找到了 IP 地址只能找到你們家,只有找到了端口,寄信時才能找到真正的收件人。

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

計算機(jī)中的協(xié)議主要分為兩大類:

  • 面向連接的可靠的TCP協(xié)議(Transmission Control Protocol,傳輸控制協(xié)議);
  • 面向無連接的不可靠的UDP協(xié)議(User Datagram Protocol,用戶數(shù)據(jù)報協(xié)議);

這兩種協(xié)議都支持 2
16,也就是 65535 個端口。這么多端口怎么記憶呢?系統(tǒng)給我們提供了服務(wù)與端口的對應(yīng)文件 /etc/services。 查看—下:

[root@localhost ~]#vi /etc/services
…省略部分輸出…
ftp-data 20/tcp
ftp-data 20/udp
# 21 is registered to ftp, but also used by fsp
ftp 21/tcp
ftp 21/udp
fsp fspd
#FTP服務(wù)的端口
…省略部分輸出…
smtp 25/tcp mail
smtp 25/udp mail
#郵件發(fā)送信件的端口
…省略部分輸出…
http 80/tcp www www-http #WorldWideWeb HTTP
http 80/udp www www-http #HyperText Transfer Protocol
#WWW服務(wù)的端口
…省略部分輸出…
pop3 110/tcp pop-3
# POP version 3
pop3 110/udp pop-3
#郵件接收信件的端口
…省略部分輸出…

網(wǎng)絡(luò)服務(wù)的端口能夠修改嗎?當(dāng)然是可以的,不過一旦修改了端口,那么客戶機(jī)在訪問服務(wù)器時很難知道服務(wù)器對應(yīng)的端口是什么,也就不能正確地獲取服務(wù)了。所以,除非在實驗環(huán)境下,否則不要修改網(wǎng)絡(luò)服務(wù)對應(yīng)的端口。

查詢系統(tǒng)中已經(jīng)啟動的服務(wù)

既然每個網(wǎng)絡(luò)服務(wù)對應(yīng)的端口是固定的,那么是否可以通過查詢服務(wù)器中開啟的端口,來判斷當(dāng)前服務(wù)器開啟了哪些服務(wù)?

當(dāng)然是可以的。雖然判斷服務(wù)器中開啟的服務(wù)還有其他方法(如通過ps命令),但是通過端口的方法查看最為準(zhǔn)確。命令格式如下:

[root@localhost ~]# netstat 選項

選項:

  • -a:列出系統(tǒng)中所有網(wǎng)絡(luò)連接,包括已經(jīng)連接的網(wǎng)絡(luò)服務(wù)、監(jiān)聽的網(wǎng)絡(luò)服務(wù)和 Socket 套接字;
  • -t:列出 TCP 數(shù)據(jù);
  • -u:列出 UDF 數(shù)據(jù);
  • -l:列出正在監(jiān)聽的網(wǎng)絡(luò)服務(wù)(不包含已經(jīng)連接的網(wǎng)絡(luò)服務(wù));
  • -n:用端口號來顯示而不用服務(wù)名;
  • -p:列出該服務(wù)的進(jìn)程 ID (PID);

舉個例子:

[root@localhost ~]# netstat -tlunp
#列出系統(tǒng)中所有已經(jīng)啟動的服務(wù)(已經(jīng)監(jiān)聽的端口),但不包含已經(jīng)連接的網(wǎng)絡(luò)服務(wù)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:53575 0.0.0.0:*
LISTEN
1200/rpc.statd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1181/rpcbind
tcp 0 0 0.0.0.0:22 O.O.O.O:* LISTEN 1405/sshd
tcp 0 0127.0.0.1:631 O.O.O.O:* LISTEN 1287/cupsd
tcp 0 0 127.0.0.1:25 O.O.O.O:* LISTEN 1481/master
tcp 0 0 :::57454 :::* LISTEN 1200/rpc.statd
tcp 0 0 :::111 :::* LISTEN 1181/rpcbind
tcp 0 0 :::22 :::* LISTEN 1405/sshd
tcp 0 0 ::1:631 :::* LISTEN 1287/cupsd
tcp 0 0 ::1:25 :::* LISTEN 1481/master
udp 0 0 0.0.0.0:58322 0.0.0.0:* 1276/avahi-daemon
udp 0 0 0.0.0.0:5353 O.O.O.O:* 1276/avahi-daemon
udp 0 0 0.0.0.0:111 O.O.O.O:* 1181/rpcbind
udp 0 0 0.0.0.0:631 O.O.O.O:* 1287/cupsd
udp 0 0 0.0.0.0:56459 0.0.0.0:* 1200/rpc.statd
udp 0 0 0.0.0.0:932 O.O.O.O:* 1181/rpcbind
udp 0 0 0.0.0.0:952 O.O.O.O:* 1200/rpc.statd
udp 0 0 :::111 :::* 1181/rpcbind
udp 0 0 :::47858 :::* 1200/rpc.statd
udp 0 0 :::932 :::* 1181/rpcbind

執(zhí)行這條命令會看到服務(wù)器上所有已經(jīng)開啟的端口,也就是說,通過這些端口就可以知道當(dāng)前服務(wù)器上開啟了哪些服務(wù)。

解釋一下命令的執(zhí)行結(jié)果:

  • Proto:數(shù)據(jù)包的協(xié)議。分為 TCP 和 UDP 數(shù)據(jù)包;
  • Recv-Q:表示收到的數(shù)據(jù)已經(jīng)在本地接收緩沖,但是還沒有被進(jìn)程取走的數(shù)據(jù)包數(shù)量;
  • Send-Q:對方?jīng)]有收到的數(shù)據(jù)包數(shù)量;或者沒有 Ack 回復(fù)的,還在本地緩沖區(qū)的數(shù)據(jù)包數(shù)量;
  • Local Address:本地 IP : 端口。通過端口可以知道本機(jī)開啟了哪些服務(wù);
  • Foreign Address:遠(yuǎn)程主機(jī):端口。也就是遠(yuǎn)程是哪個 IP、使用哪個端口連接到本機(jī)。由于這條命令只能查看監(jiān)聽端口,所以沒有 IP 連接到到本機(jī);
  • State:連接狀態(tài)。主要有已經(jīng)建立連接(ESTABLISED)和監(jiān)聽(LISTEN)兩種狀態(tài),當(dāng)前只能查看監(jiān)聽狀態(tài);
  • PID/Program name:進(jìn)程 ID 和進(jìn)程命令;

再舉個例子:

[root@localhost ~]# netstat -an
#查看所有的網(wǎng)絡(luò)連接,包括已連接的網(wǎng)絡(luò)服務(wù)、監(jiān)聽的網(wǎng)絡(luò)服務(wù)和Socket套接字
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:53575 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 192.168.0.210:22 192.168.0.105:4868 ESTABLISHED
tcp 0 0 :::57454 :::* LISTEN
...省略部分輸出...
udp 0 0 :::932 :::*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
#Socket套接字輸出,后面有具體介紹
Unix 2 [ ACC ] STREAM LISTENING 11712 /var/run/dbus/system_bus_socket
unix 2 [ ACC ] STREAM LISTENING 8450 @/com/ubuntu/upstart unix 7. [ ] DGRAM 8651 @/org/kernel/udev/udevd
unix 2 [ ACC ] STREAM LISTENING 11942 @/var/run/hald/dbus-b4QVLkivf1
...省略部分輸出...

執(zhí)行"netstat -an"命令能査看更多的信息,在 Stated 中也看到了已經(jīng)建立的連接(ESTABLISED)。這是 ssh 遠(yuǎn)程管理命令產(chǎn)生的連接,ssh 對應(yīng)的端口是 22。

而且我們還看到了 Socket 套接字。在服務(wù)器上,除網(wǎng)絡(luò)服務(wù)可以綁定端口,用端口來接收客戶端的請求數(shù)據(jù)外,系統(tǒng)中的網(wǎng)絡(luò)程序或我們自己開發(fā)的網(wǎng)絡(luò)程序也可以綁定端口,用端口來接收客戶端的請求數(shù)據(jù)。這些網(wǎng)絡(luò)程序就是通過 Socket 套接字來綁定端口的。也就是說,網(wǎng)絡(luò)服務(wù)或網(wǎng)絡(luò)程序要想在網(wǎng)絡(luò)中傳遞數(shù)據(jù),必須利用 Socke 套接字綁定端口,并進(jìn)行數(shù)據(jù)傳遞。

使用"netstat -an"命令查看到的這些 Socke 套接字雖然不是網(wǎng)絡(luò)服務(wù),但是同樣會占用端口,并在網(wǎng)絡(luò)中傳遞數(shù)據(jù)。

解釋一下 Socket 套接字的輸出:

  • Proto:協(xié)議,一般是unix;
  • RefCnt:連接到此Socket的進(jìn)程數(shù)量;
  • Flags:連接標(biāo)識;
  • Type:Socket訪問類型;
  • State:狀態(tài),LISTENING表示監(jiān)聽,CONNECTED表示已經(jīng)建立連接;
  • I-Node:程序文件的 i 節(jié)點號;
  • Path:Socke程序的路徑,或者相關(guān)數(shù)據(jù)的輸出路徑;

網(wǎng)站名稱:linux端口及查詢方法詳解
文章轉(zhuǎn)載:http://www.dlmjj.cn/article/djddppj.html