查看linux監聽埠
❶ linux6查看監聽埠命令
1. 列出所有埠 (包括監聽和未監聽的)
列出所有埠: netstat -a
列出所有tcp埠: netstat -at
列出所有udp埠: netstat -au
2. 列出所有處於監聽狀態的 Sockets
只顯示監聽埠: netstat -l
只列出所有監聽tcp埠: netstat -lt
只列出所有監聽udp埠: netstat -lu
只列出所有監聽UNIX埠: netstat -lx
3. 顯示每個協議的統計信息
顯示所有埠的統計信息 netstat -s
❷ 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下如何查看哪些埠處於監聽狀態
查看某一埠的佔用情況: lsof -i:埠號
前提:首先你必須知道,埠不是獨立存在的,它是依附於進程的。某個進程開啟,那麼它對應的埠就開啟了,進程關閉,則該埠也就關閉了。下次若某個進程再次開啟,則相應的埠也再次開啟。而不要純粹的理解為關閉掉某個埠,不過可以禁用某個埠。
1. 可以通過"netstat -anp" 來查看哪些埠被打開。
(註:加參數'-n'會將應用程序轉為埠顯示,即數字格式的地址,如:nfs->2049, ftp->21,因此可以開啟兩個終端,一一對應一下程序所對應的埠號)
2. 然後可以通過"lsof -i:$PORT"查看應用該埠的程序($PORT指對應的埠號)。或者你也可以查看文件/etc/services,從裡面可以找出埠所對應的服務。
(註:有些埠通過netstat查不出來,更可靠的方法是"sudo nmap -sT -O localhost")
3. 若要關閉某個埠,則可以:
1)通過iptables工具將該埠禁掉,如:
"sudo iptables -A INPUT -p tcp --dport $PORT -j DROP"
"sudo iptables -A OUTPUT -p tcp --dport $PORT -j DROP"
2)或者關掉對應的應用程序,則埠就自然關閉了,如:
"kill -9 PID" (PID:進程號)
如: 通過"netstat -anp | grep ssh"
有顯示: tcp 0 127.0.0.1:2121 0.0.0.0:* LISTEN 7546/ssh
則: "kill -9 7546"
很基礎的linux知識,跟著《linux就該這么學》系統學習下!
❹ linux如何查看埠號
1、列出所有埠 #netstat -a
2、列出所有 tcp 埠 #netstat -at
3、列出所有 udp 埠 #netstat -au
4、只顯示監聽埠 #netstat -l
5、只列出所有監聽 tcp 埠 #netstat -lt
6、只列出所有監聽 udp 埠 #netstat -lu
7、列出所有監聽 UNIX 埠 #netstat -lx
8、顯示所有埠的統計信息 #netstat -s
9、顯示 TCP 或 UDP 埠的統計信息 #netstat -st 或 -su
10、 輸出中顯示 PID 和進程名稱 #netstat -p
11、netstat 輸出中不顯示主機,埠和用戶名 (host, port or user)
❺ linux 查看哪些埠被監聽
最常用的方法:
1,netstat -an
2,lsof -i
以上兩個命令通過查詢網路堆棧列舉正在監聽網路的埠。
eg:檢查某一埠的監聽信息
netstat -anp | grep 埠號
lsof -i | grep 埠號
❻ Linux如何查看埠是否被佔用
Linux如何查看埠是否被佔用?下面為大家推薦兩種檢測方法,對Linux系統不熟悉的小夥伴可以看看。
1、使用lsof命令
lsof是一個非常強大的linux工具,她被用來查找哪些程序使用了那些文件。在linux系統下,基本上所有的東西都可以被當作文件來用。socket當然也是一種文件了。所以lsof可以用來查找誰用了某一個埠。
具體方法:lsof -i :port_number |grep "(LISTEN)"
-i是用來查找和網路相關的文件,":"號是必須的,它是標志你查找的是一個埠。port_number就是你要查找的埠號,譬如你要查找是否 有程序佔用了oracle的監聽埠1521,就可以使用lsof -i :1521 |grep "(LISTEN)"。如果有程序已經佔用了,那麼下面列印的第二個欄位就是該程序的進程id,第一個欄位是進程的名字。
如果只有losf -i :port_number可能會查到很多應用程序,但這些程序實際並沒有佔用你指定的埠,這些埠只是連接到本機器或者別的機器的該埠。所以要grep "(LISTEN)「,因為一個埠只可能被一個程序佔用的,所以這種方法是可靠的。
2、使用netstat 命令
大家一定對這個命令比較熟悉了,可能你從沒有想到用到來查找哪一個程序的佔用了指定的埠。但是netstat -an 的確提供了這種功能。所以有問題了一定要想到先去查找man手冊,不過說實話,某些man手冊寫得讓中國人看不懂,那沒有辦法了,就googe或者 一下吧。
執行man netstat命令,你會發現netstat 提供了'-p'的選項,這個選項的功能是告訴你哪個程序佔用了該埠,但是她提供的.形式比較古怪是以pid/process_name提供的。pid當然 是進程id了,process_name是進程的命令,中間以'/'號分隔。
和上面的原因一樣,我們只查找listen的埠,netstat 給我們提供了-l的選項,這個選項不是默認的選項。
下面以1521埠來看怎麼查找到該程序,我們使用下面的命令:netstat -lnp|awk 'BEGIN{prt=":1521$"}{if ($4 ~ prt) print $0}'在這里使用awk來匹配第4個欄位的模式是為了避免誤判。
❼ Linux下如何查看哪些埠處於監聽狀態
使用netstst命令查看正在監聽狀態的埠:
1、netstat
-nupl
//n表示用數字形式顯示埠號,u,表示udp協議類型,p是程序pid,l表示處於監聽狀態的;
2、netstat
-nuplf|grep
3306
//這個表示查找處於監聽狀態的,埠號為3306的進程
❽ linux查看服務埠
linux怎麼查看服務埠呢,下面就讓我們來看看吧。1、打開linux系統,在linux的桌面的空白處右擊。
2、在彈出的下拉選項里,點擊打開終端。
3、在終端窗口中輸入cat/etc/services命令,回車後即可查看到伺服器埠。
以上就是的分享,希望能幫助的大家。
本文章基於ThinkpadE15品牌、centos7系統撰寫的。
❾ 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:顯示網路硬體外圍設備的符號連接名稱。
…………
參數較多,就不一一列舉了!