linux測試埠命令
1. linux使用什麼命令查看埠
netstat命令各個參數說明如下:
-t : 指明顯示TCP埠
-u : 指明顯示UDP埠
-l : 僅顯示監聽套接字(所謂套接字就是使應用程序能夠讀寫與收發通訊協議(protocol)與資料的程序)
-p : 顯示進程標識符和程序名稱,每一個套接字/埠都屬於一個程序。
-n : 不進行DNS輪詢,顯示IP(可以加速操作)
即可顯示當前伺服器上所有埠及進程服務,於grep結合可查看某個具體埠及服務情況··
netstat -ntlp //查看當前所有tcp埠·
netstat -ntulp |grep 80 //查看所有80埠使用情況·
netstat -an | grep 3306 //查看所有3306埠使用情況·
查看一台伺服器上面哪些服務及埠
netstat -lanp
查看一個服務有幾個埠。比如要查看mysqld
ps -ef |grep mysqld
查看某一埠的連接數量,比如3306埠
netstat -pnt |grep :3306 |wc
查看某一埠的連接客戶端IP 比如3306埠
netstat -anp |grep 3306
netstat -an 查看網路埠
lsof -i :port,使用lsof -i :port就能看見所指定埠運行的程序,同時還有當前連接。
nmap 埠掃描
netstat -nupl (UDP類型的埠)
netstat -ntpl (TCP類型的埠)
netstat -anp 顯示系統埠使用情況
2. 如何用linux查看伺服器器的埠
在Linux中查找服務的埠
方法1:使用grep命令
要使用grep命令在Linux中查找指定服務的默認埠號,只需運行:
$grep<port>/etc/services
例如,要查找SSH服務的默認埠,只需運行:
$grep ssh/etc/services
就這么簡單。此命令應該適用於大多數Linux發行版。以下是我的Arch Linux測試機中的示例輸出:
ssh 22/tcp
ssh 22/udp
ssh 22/sctp
sshell 614/tcp
sshell 614/udp
netconf-ssh 830/tcp
netconf-ssh 830/udp
sdo-ssh 3897/tcp
sdo-ssh 3897/udp
netconf-ch-ssh 4334/tcp
snmpssh 5161/tcp
snmpssh-trap 5162/tcp
tl1-ssh 6252/tcp
tl1-ssh 6252/udp
ssh-mgmt 17235/tcp
ssh-mgmt 17235/udp
正如你在上面的輸出中所看到的,SSH服務的默認埠號是22。
讓我們找到Apache Web伺服器的埠號。為此,命令是:
$grep http/etc/services
#http://www.iana.org/assignments/port-numbers
http 80/tcp www www-http#WorldWideWeb HTTP
http 80/udp www www-http#HyperText Transfer Protocol
http 80/sctp#HyperText Transfer Protocol
https 443/tcp#http protocol over TLS/SSL
https 443/udp#http protocol over TLS/SSL
https 443/sctp#http protocol over TLS/SSL
gss-http 488/tcp
gss-http 488/udp
webcache 8080/tcp http-alt#WWW caching service
webcache 8080/udp http-alt#WWW caching service
[...]
ftp埠號是什麼?這很簡單!
$grep ftp/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
tftp 69/tcp
[...]
方法2:使用getent命令
如你所見,上面的命令顯示指定搜索詞「ssh」、「http」和「ftp」的所有埠名稱和數字。這意味著,你將獲得與給定搜索詞匹配的所有埠名稱的相當長的輸出。
但是,你可以使用getent命令精確輸出結果,如下所示:
$getent services ssh
ssh 22/tcp
$getent services http
http 80/tcp www www-http
$getent services ftp
ftp 21/tcp
如果你不知道埠名稱,但是知道埠號,那麼你只需將埠名稱替換為數字:
$getent services 80
http 80/tcp
要顯示所有埠名稱和埠號,只需運行:
$getent services
3. linux查看埠是否開啟
Linux怎麼查看埠是否開啟?我們一起來了解一下吧。首先我們先打開要查看埠的Linux的命令操作界面,
本文章基於ThinkpadE15品牌、centos7系統撰寫的。
4. linux查看運行的埠命令
一、使用 netstat 檢查埠
netstat 是一個命令行工具,可以提供有關網路連接的信息。
要列出正在偵聽的所有 TCP 或 UDP 埠,包括使用埠和套接字狀態的服務,請使用以下命令:
netstat -tunlp
此命令中使用的選項具有以下含義:
-t - 顯示 TCP 埠。
-u - 顯示 UDP 埠。
-n - 顯示數字地址而不是主機名。
-l - 僅顯示偵聽埠。
-p - 顯示進程的 PID 和名稱。僅當您以 root 或 sudo 用戶身份運行命令時,才會顯示此信息。
查詢指定埠通過grep過濾:
netstat -tnlp | grep :80
二、使用 ss 檢查埠
ss 是新的 netstat,命令選項大致相同。它缺少一些 netstat 功能,但暴露了更多的 TCP 狀態,而且速度稍快。《Linux就該這么學》 一起學習linux
使用示例:ss -tunlp
三、使用 lsof 檢查埠
lsof 是一個功能強大的命令行實用程序,它提供有關進程打開的文件的信息。
在 Linux 中,一切都是文件,可以將套接字視為寫入網路的文件。
要使用 lsof 獲取所有偵聽 TCP 埠的列表:
lsof -nP -iTCP -sTCP:LISTEN
使用的選項如下:
-n - 不要將埠號轉換為埠名稱。
-p - 不要解析主機名,顯示數字地址。
-iTCP -sTCP:LISTEN - 僅顯示 TCP 協議狀態為 LISTEN 的網路文件。
要查找正在偵聽特定埠(例如 3306)的進程,請使用以下命令:
sudo lsof -nP -iTCP:3306 -sTCP:LISTEN
5. Linux中如何檢查開放埠
場景一:了解系統開放的埠,和正在使用的埠,在各種情況下都會有所幫助。
比如:如果你的伺服器正在運行著 Nginx,那麼其埠應該為80或者443,可以檢查一下。再比如你可以檢查一下 SMTP、SSH或者其他服務用的是哪個埠。當有新的服務需要開放埠的時候,你需要知道目前已經被佔用的,都有哪些埠。
此外,可以檢查一下是否有開放的可用於入侵檢測的埠。
Linux 中有多種檢查埠的方法,本文將介紹兩種。
使用 lsof 檢查當前系統開放的埠
不管你是直接登錄的系統,還是使用 ssh 連接的,都可以使用 lsof 命令來檢查埠:
該命令用於查找用戶使用的文件和進程。上述命令中的選項,包括:
但是,這也會展示許多計算機並沒有監聽的其他埠。
我們可以通過管道將此輸出傳輸到 grep,並匹配模式 「LISTEN」,如下所示:
這樣就只顯示計算機正在監聽的,以及正在運行的伺服器所佔用的埠。
使用 netcat 命令檢查遠程伺服器上的埠
nc(Netcat) 是一個命令行實用程序,使用TCP和UDP協議在網路計算機之間讀取和寫入數據。
以下是nc命令的語法:
這個工具有一個很實用的 -z 選項,它會讓 nc 命令掃描正在監聽的守護進程,但是不會向埠發送任何數據。
將其與 -v 選項結合,啟動詳細信息,會有詳細信息的輸出。
losf與nc的不同點:
lsof命令簡介
lsof 命令用於顯示 Linux 系統當前已打開的所有文件列表。查看進程或系統打開的文件會給調試帶來極大的幫助。下面簡單地介紹 lsof 常使用的功能。
lsof (list open files)命令用於查看你進程打開的文件,打開文件的進程,進程打開的埠(TCP、UDP),還可以用於找回/恢復被刪除的文件。lsof 命令需要訪問核心內存和各種文件,所以需要具備 root 超級管理員許可權的用戶才能執行此命令。
linux的nc命令,NetCat,在網路工具中有「瑞士軍刀」美譽「,是解決這個問題的工具。 nc命令安裝: yum install nc
以上是看來一些文章的總結分享內容,歡迎補充討論。
6. Linux查看埠是否被佔用的命令是什麼
Linux中如何查看8080埠是否被佔用?在Linux系統中,想要查看哪些埠被佔用可通過命令進行查詢,比如:lsof、netstat命令。其中netstat命令是最為常見的,本文將為大家重點介紹一下,不了解的小夥伴一定要認真看完!
輸入命令:netstat -tln | grep 8080,來查看8080埠情況,按回車執行。
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:顯示網路硬體外圍設備的符號連接名稱。
…………
參數較多,就不一一列舉了!