更新時(shí)間:2021-01-05 17:58:58 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1997次
在使用計(jì)算機(jī)的過程中,有時(shí)會(huì)碰到端口被占用的情況,這時(shí)候需要查看端口占用情況進(jìn)行問題排查。在linux系統(tǒng)中,端口占用的情況也時(shí)有發(fā)生,一般情況下可以使用lsof和netstat兩個(gè)命令來查看端口占用情況。
下面我們就分別介紹Linux查看端口占用用到的lsof和netstat命令:
1、lsof命令
lsof(list open files)命令功能:列出當(dāng)前系統(tǒng)打開文件。在linux系統(tǒng)中,一切皆文件,通過文件不僅僅可以訪問常規(guī)數(shù)據(jù),還可以訪問網(wǎng)絡(luò)連接和硬件。像TCP、UDP 套接字等,系統(tǒng)中都存在對(duì)應(yīng)的文件描述符,該文件描述符為應(yīng)用程序與操作系統(tǒng)之間的交互提供了通用接口。因?yàn)閼?yīng)用程序打開文件的描述符列表提供了大量關(guān)于這個(gè)應(yīng)用程序本身的信息,因此通過lsof命令可以查看這個(gè)列表對(duì)系統(tǒng)進(jìn)行監(jiān)測(cè)。
查看某個(gè)端口的占用情況使用命令:
lsof -i:port,比如查看9090端口使用情況:lsof -i:9090。
# lsof -i:9090
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Thriftc 32551 root 6u IPv6 23200961 0t0 TCP *:websm (LISTEN)
lsof命令參數(shù):
2、netstat命令
Netstat是控制臺(tái)命令,是一個(gè)監(jiān)控TCP/IP網(wǎng)絡(luò)的非常有用的工具,它可以顯示路由表、實(shí)際的網(wǎng)絡(luò)連接以及每一個(gè)網(wǎng)絡(luò)接口設(shè)備的狀態(tài)信息。Netstat用于顯示與IP、TCP、UDP和ICMP協(xié)議相關(guān)的統(tǒng)計(jì)數(shù)據(jù),一般用于檢驗(yàn)本機(jī)各端口的網(wǎng)絡(luò)連接情況。因此可以使用netstat命令查看系統(tǒng)中端口占用情況。查看指定端口號(hào)的進(jìn)程情況使用命令:netstat -tunlp | grep port,比如查看9090端口的進(jìn)程:netstat -tunlp | grep 9090。
# netstat -tunlp?
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:34797 ? ? ? ? ? ? ? 0.0.0.0:* ? ? ? ? ? ? ? ? ? LISTEN ? ? ?1554/rpc.statd ? ? ?
tcp ? ? ? ?0 ? ? ?0 0.0.0.0:111 ? ? ? ? ? ? ? ? 0.0.0.0:* ? ? ? ? ? ? ? ? ? LISTEN ? ? ?1497/rpcbind ? ? ? ?
tcp ? ? ? ?0 ? ? ?0 0.0.0.0:80 ? ? ? ? ? ? ? ? ?0.0.0.0:* ? ? ? ? ? ? ? ? ? LISTEN ? ? ?31165/nginx ? ? ? ??
tcp ? ? ? ?0 ? ? ?0 0.0.0.0:22 ? ? ? ? ? ? ? ? ?0.0.0.0:* ? ? ? ? ? ? ? ? ? LISTEN ? ? ?1988/sshd ? ? ? ? ??
tcp ? ? ? ?0 ? ? ?0 127.0.0.1:25 ? ? ? ? ? ? ? ?0.0.0.0:* ? ? ? ? ? ? ? ? ? LISTEN ? ? ?2102/master ? ? ? ??
tcp ? ? ? ?0 ? ? ?0 0.0.0.0:443 ? ? ? ? ? ? ? ? 0.0.0.0:* ? ? ? ? ? ? ? ? ? LISTEN ? ? ?31165/nginx ? ? ? ??
tcp ? ? ? ?0 ? ? ?0 :::9090 ? ? ? ? ? ? ? ? ? ? :::* ? ? ? ? ? ? ? ? ? ? ? ?LISTEN ? ? ?32551/./Thriftc ? ??
tcp ? ? ? ?0 ? ? ?0 :::53705 ? ? ? ? ? ? ? ? ? ?:::* ? ? ? ? ? ? ? ? ? ? ? ?LISTEN ? ? ?1554/rpc.statd ? ? ?
tcp ? ? ? ?0 ? ? ?0 :::111 ? ? ? ? ? ? ? ? ? ? ?:::* ? ? ? ? ? ? ? ? ? ? ? ?LISTEN ? ? ?1497/rpcbind ? ? ? ?
tcp ? ? ? ?0 ? ? ?0 :::22 ? ? ? ? ? ? ? ? ? ? ? :::* ? ? ? ? ? ? ? ? ? ? ? ?LISTEN ? ? ?1988/sshd ? ? ? ? ??
tcp ? ? ? ?0 ? ? ?0 ::1:25 ? ? ? ? ? ? ? ? ? ? ?:::* ? ? ? ? ? ? ? ? ? ? ? ?LISTEN ? ? ?2102/master ? ? ? ??
udp ? ? ? ?0 ? ? ?0 0.0.0.0:111 ? ? ? ? ? ? ? ? 0.0.0.0:* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1497/rpcbind ? ? ? ?
udp ? ? ? ?0 ? ? ?0 127.0.0.1:882 ? ? ? ? ? ? ? 0.0.0.0:* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1554/rpc.statd ? ? ?
udp ? ? ? ?0 ? ? ?0 192.168.0.16:123 ? ? ? ? ? ?0.0.0.0:* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2013/ntpd ? ? ? ? ??
udp ? ? ? ?0 ? ? ?0 127.0.0.1:123 ? ? ? ? ? ? ? 0.0.0.0:* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2013/ntpd ? ? ? ? ??
udp ? ? ? ?0 ? ? ?0 0.0.0.0:123 ? ? ? ? ? ? ? ? 0.0.0.0:* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2013/ntpd ? ? ? ? ??
udp ? ? ? ?0 ? ? ?0 0.0.0.0:48037 ? ? ? ? ? ? ? 0.0.0.0:* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1554/rpc.statd ? ? ?
udp ? ? ? ?0 ? ? ?0 0.0.0.0:824 ? ? ? ? ? ? ? ? 0.0.0.0:* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1497/rpcbind ? ? ? ?
udp ? ? ? ?0 ? ? ?0 0.0.0.0:68 ? ? ? ? ? ? ? ? ?0.0.0.0:* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1585/dhclient ? ? ??
udp ? ? ? ?0 ? ? ?0 :::33758 ? ? ? ? ? ? ? ? ? ?:::* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1554/rpc.statd ? ? ?
udp ? ? ? ?0 ? ? ?0 :::111 ? ? ? ? ? ? ? ? ? ? ?:::* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1497/rpcbind ? ? ? ?
udp ? ? ? ?0 ? ? ?0 fe80::f816:3eff:fe49:fae:123 :::* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2013/ntpd ? ? ? ? ??
udp ? ? ? ?0 ? ? ?0 ::1:123 ? ? ? ? ? ? ? ? ? ? :::* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2013/ntpd ? ? ? ? ??
udp ? ? ? ?0 ? ? ?0 :::123 ? ? ? ? ? ? ? ? ? ? ?:::* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2013/ntpd ? ? ? ? ??
udp ? ? ? ?0 ? ? ?0 :::824 ? ? ? ? ? ? ? ? ? ? ?:::* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1497/rpcbind ??
# netstat -tunlp | grep 9090
tcp ? ? ? ?0 ? ? ?0 :::9090 ? ? ? ? ? ? ? ? ? ? :::* ? ? ? ? ? ? ? ? ? ? ? ?LISTEN ? ? ?32551/./Thriftc
netstat命令參數(shù):
-a (all) 顯示所有連線中的Socket
-t (tcp) 僅顯示tcp相關(guān)選項(xiàng)
-u (udp) 僅顯示udp相關(guān)選項(xiàng)
-n 拒絕顯示別名,能顯示數(shù)字的全部轉(zhuǎn)化成數(shù)字。
-l 僅列出有在 Listen (監(jiān)聽) 的服務(wù)狀態(tài)
-p 顯示建立相關(guān)鏈接的程序名
-r 顯示路由信息,路由表
-e 顯示擴(kuò)展信息,例如uid等
-s 按各個(gè)協(xié)議進(jìn)行統(tǒng)計(jì)
-c 每隔一個(gè)固定時(shí)間,執(zhí)行該netstat命令。
提示:LISTEN和LISTENING的狀態(tài)只有用-a或者-l才能看到
linux查看端口占用一直是使用操作系統(tǒng)的過程中容易遇見的問題,我們很難避免這樣的情況發(fā)生,只有采取相應(yīng)的措施,查看端口占用的情況然后加以解決。在本站的Linux教程中有對(duì)端口占用的解決方案,感興趣的小伙伴可以前去觀看學(xué)習(xí),通過實(shí)踐操作檢驗(yàn)方案的可行性。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743