linux查看被佔用埠
⑴ linux系統如何查看埠佔用
在linux系統查看埠佔用,可以使用netstat命令查看,埠使用情況。
其中Local Address 有埠的表示本機啟用的服務佔用的埠,這些埠一直被服務佔用。Foreign Address有埠的是外部程序連接本機服務,本機隨機分配的埠,這些埠隨著外包程序斷開連接自動釋放......
⑵ linux如何查看埠佔用情況
Linux 查看埠佔用情況可以使用 lsof 和 netstat 命令:
netstat
netstat -tunlp 用於顯示 tcp,udp 的埠和進程等相關情況。
netstat 查看埠佔用語法格式:
netstat -tunlp | grep 埠號
另一種使用方法和案例請參考:https://panxu.net/article/8377.html
⑶ linux怎麼查看進程佔用埠
1. ss命令簡介
ss 是 Socket Statistics 的縮寫。ss 命令可以用來獲取 socket 統計信息,它顯示的內容和 netstat 類似。但 ss 的優勢在於它能夠顯示更多更詳細的有關 TCP 和連接狀態的信息,而且比 netstat 更快。當伺服器的 socket 連接數量變得非常大時,無論是使用 netstat 命令還是直接 cat /proc/net/tcp,執行速度都會很慢。ss 命令利用到了 TCP 協議棧中 tcp_diag。tcp_diag 是一個用於分析統計的模塊,可以獲得 Linux 內核中第一手的信息,因此 ss 命令的性能會好很多。
ss命令簡介
2. 常用選項
-h, --help 幫助
-V, --version 顯示版本號
-t, --tcp 顯示 TCP 協議的 sockets
-u, --udp 顯示 UDP 協議的 sockets
-x, --unix 顯示 unix domain sockets,與 -f 選項相同
-n, --numeric 不解析服務的名稱,如 "22" 埠不會顯示成 "ssh"
-l, --listening 只顯示處於監聽狀態的埠
-p, --processes 顯示監聽埠的進程(Ubuntu 上需要 sudo)
-a, --all 對 TCP 協議來說,既包含監聽的埠,也包含建立的連接
-r, --resolve 把 IP 解釋為域名,把埠號解釋為協議名稱
3. 常見用法
如果不添加選項 ss 命令默認輸出所有建立的連接(不包含監聽的埠),包括 tcp, udp, and unix socket 三種類型的連接:
3.1 查看前5名的連接:
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
u_str ESTAB 0 0 * 20040 * 20041
u_str ESTAB 0 0 * 20030 * 20031
u_str ESTAB 0 0 * 20044 * 20043
u_str ESTAB 0 0 /run/dbus/system_bus_socket 18592 * 18591
3.2 查看主機的監聽埠
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 127.0.0.1:9016 :
LISTEN 0 128 127.0.0.1:9017 :
LISTEN 0 100 127.0.0.1:25 :
LISTEN 0 128 127.0.0.1:9018 :
LISTEN 0 128 127.0.0.1:1723 :
LISTEN 0 128 127.0.0.1:9019 :
3.3 linux查看tcp連接
ESTAB 0 0 ::1:ssh ::1:53238
ESTAB 0 0 ::1:53278 ::1:ssh
ESTAB 0 0 ::1:ssh ::1:53280
ESTAB 0 0 ::1:53288 ::1:ssh
ESTAB 0 0 ::1:ssh ::1:53296
ESTAB 0 0 ::1:53294 ::1:ssh
ESTAB 0 0 ::1:48456 ::1:ssh
ESTAB 0 0 ::1:53286 ::1:ssh
ESTAB 0 0 ::1:53292 ::1:ssh
ESTAB 0 0 ::1:ssh ::1:53272
linux查看tcp連接
3.4 解析IP和埠號
使用-r選項
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 my_public_ip:9016 :
LISTEN 0 128 my_public_ip:9017 :
LISTEN 0 100 localhost:smtp :
LISTEN 0 128 my_public_ip:9018 :
LISTEN 0 128 my_public_ip:pptp :
LISTEN 0 128 my_public_ip:9019 :
linux查看監聽埠
3.5 輸出時帶進程名稱
使用-p選項
Total: 2340 (kernel 2365)
TCP: 2126 (estab 72, closed 23, orphaned 1, synrecv 0, timewait 2/0), ports 0
Transport Total IP IPv6
3.6 根據條件過濾輸出結果
可以通過語法過濾輸出結果,根據源IP、源埠、目標IP、目標埠
src源
dst目標
ss dst 172.16.26.33
ss dst 172.16.26.43:http
ss dst 172.16.26.43:443
3.7 根據源埠號范圍輸出:
根據目標埠號范圍輸出:
ss dport OP PORT
OP 可以代表以下任意一個:
<=le小於或等於某個埠號 >=ge大於或等於某個埠號==eq等於某個埠號!=ne不等於某個埠號>gt大於某個埠號<lt小於某個埠號
比如:
輸出源埠號小於8080的連接狀態
或者
3.8 根據TCP 的狀態進行過濾
ss命令還可以根據TCP連接的狀態進行過濾,支持的 TCP 協議中的狀態有:
established
syn-sent
syn-recv
fin-wait-1
fin-wait-2
time-wait
closed
close-wait
last-ack
listening
closing
除了上面的 TCP 狀態,還可以使用下面這些狀態:
狀態輸出結果 all輸出所有TCP狀態。connected輸出已經建立連接的TCP狀態。synchronized輸出同步狀態的連接。bucket輸出maintained的狀態,如:time-wait 和 syn-recv。big輸出與bucket相反的狀態。
只輸出ipv4狀態:
只輸出ipv6狀態:
輸出ipv4監聽狀態:
3.9 根據TCP狀態和埠號進行過濾
輸入出ipv4協議下的ssh監聽狀態:
或者
要麼使用轉義小括弧,要麼使用單引號
查看所有已經建立TCP三次握手的HTTP連接:
查看所有正在進程的ssh連接:
4. 總結
ss 命令功能豐富並且性能出色,完全可以替代 netsate 命令。已經成為我們日常查看 socket 相關信息的利器。未來netstat已經慢慢被ss取代。
https://www.linuxrumen.com/cyml/821.html
⑷ linux如何查看某個埠是否被佔用
在資源管理器查看吧!如果,您對這個回答滿意,請點擊回答內容右下方的「…」,再點擊「採納」。多謝了!
⑸ linux下怎麼查看埠是否被佔用
Linux netstat命令用於顯示網路狀態。
利用netstat指令可讓你得知整個Linux系統的網路情況。
語法
netstat [-acCeFghilMnNoprstuvVwx][-A<網路類型>][--ip]
參數
-a或--all:顯示所有連線中的Socker。
-A<網路類型>或--<網路類型>:列出該網路類型連線中的相關地址。
-c或--continuous:持續列出網路狀態。
-C或--cache:顯示路由器配置的快取信息。
-e或--extend:顯示網路其他相關信息。
-F或--fib:顯示路由緩存。
-g或--groups:顯示多重廣播功能群組組員名單。
-h或--help:在線幫助。
-i或--interfaces:顯示網路界面信息表單。
-l或--listening:顯示監控中的伺服器的Socket。
-M或--masquerade:顯示偽裝的網路連線。
-n或--numeric:直接使用IP地址,而不通過域名伺服器。
-N或--netlink或--symbolic:顯示網路硬體外圍設備的符號連接名稱。
…………
參數較多,就不一一列舉了!
⑹ 如何查看linux埠佔用情況
這個命令是查看所有被佔用埠,netstat -anp。 如果你想查看某一個被佔用的話,你可以netstat -anp|grep 服務名稱/埠號。 或者lsof -i:埠號
⑺ 如何查看linux伺服器佔用的埠
netstat
-anp
我再說詳細一點吧:
參數a可以顯示所有的信息,甚至包含unix域的,
參數n這個參數是必須的,他會強制netstat程序將對端地址以IP方式顯示,否則,netstat會花上很長時間來嘗試解析對端的主機名
參數p將顯示佔用此埠的程序的名稱(就是「誰」佔用了這個埠)
你自己man
netstat不就能找到說明文檔了嗎?不要迴避英語,你想用Linux,遲早有一天你會不知不覺的能讀懂系統里的絕大多數文檔的。
⑻ linux 怎麼查看埠是否被佔用
使用root用戶執行:
netstat -anp|grep 埠號
如果埠被佔用,這里可以看到啟動這個埠和連接這個埠的進程號
⑼ linux查看埠佔用情況
一、常用命令:
1,lsof -i埠號
2,netstat -tunlp|grep 埠號
這兩個命令都可以查看埠被什麼進程佔用。
二、lsof -i 需要 root 用戶的許可權來執行,如下圖:
三、netstat命令
netstat -tunlp用於顯示 tcp,udp 的埠和進程等相關情況。
netstat 查看埠佔用語法格式:
netstat -tunlp | grep 埠號
(9)linux查看被佔用埠擴展閱讀
一、更多 lsof 的命令擴展
1、lsof -i:8080:查看8080埠佔用
2、lsof abc.txt:顯示開啟文件abc.txt的進程
3、lsof -c abc:顯示abc進程現在打開的文件
4、lsof -c -p 1234:列出進程號為1234的進程所打開的文件
5、lsof -g gid:顯示歸屬gid的進程情況
6、lsof +d /usr/local/:顯示目錄下被進程開啟的文件
7、lsof +D /usr/local/:同上,但是會搜索目錄下的目錄,時間較長
8、lsof -d 4:顯示使用fd為4的進程
9、lsof -i -U:顯示所有打開的埠和UNIX domain文件
二、更多netstat命令
1、netstat -ntlp //查看當前所有tcp埠
2、netstat -ntulp | grep 80 //查看所有80埠使用情況
3、netstat -ntulp | grep 3306 //查看所有3306埠使用情況
三、關閉埠
1、在查到埠佔用的進程後,如果你要殺掉對應的進程可以使用 kill 命令:
kill -9 PID
2、如上實例,我們看到 8000 埠對應的 PID 為 26993,使用以下命令殺死進程:
kill -9 26993
⑽ linux 如何查看埠被哪個程序佔用
【步驟一】lsof -i
lsof -i 用以顯示符合條件的進程情況,lsof(list open files)是一個列出當前系統打開文件的工具。以root用戶來執行lsof -i命令,如下圖
【步驟二】lsof -i:埠號
lsof -i:埠號,用於查看某一埠的佔用情況,比如查看22號埠使用情況,lsof -i:22,如下圖
【步驟三】netstat -tunlp
netstat -tunlp用於顯示tcp,udp的埠和進程等相關情況,如下圖
4
【步驟四】netstat -tunlp|grep 埠號
netstat -tunlp|grep 埠號,用於查看指定埠號的進程情況,如查看22埠的情況,netstat -tunlp|grep 22,如下圖