linux測試埠
A. 如何測試linux埠的連通性
這個需要Linux伺服器里邊支持nc命令,如果還沒有裝的情況會顯示如下
B. linux查看伺服器埠狀態
使用netstst命令查看正在監聽狀態的埠:
1、netstat -nupl //n表示用數字形式顯示埠號,u,表示UDP協議類型,p是程序PID,l表示處於監聽狀態的;
2、netstat -nuplf|grep 3306 //這個表示查找處於監聽狀態的,埠號為3306的進程
C. 如何用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
D. linux如何查看埠
x使用過程中,需要了解當前系統開放了哪些埠,並且要查看開放這些埠的具體進程和用戶,可以通過netstat命令進行簡單查詢
netstat命令各個參數說明如下:
-t : 指明顯示TCP埠
-u : 指明顯示UDP埠
-l : 僅顯示監聽套接字(所謂套接字就是使應用程序能夠讀寫與收發通訊協議(protocol)與資料的程序)
-p : 顯示進程標識符和程序名稱,每一個套接字/埠都屬於一個程序。
-n : 不進行DNS輪詢,顯示IP(可以加速操作)
即可顯示當前伺服器上所有埠及進程服務,於grep結合可查看某個具體埠及服務情況··
netstat -ntlp //查看當前所有tcp埠·
netstat -ntulp |grep 80 //查看所有80埠使用情況·
netstat -ntulp | grep 3306 //查看所有3306埠使用情況·
Linux查看程序埠佔用情況
使用命令:
ps -aux | grep tomcat
發現並沒有8080埠的Tomcat進程。
使用命令:netstat –apn
查看所有的進程和埠使用情況。發現下面的進程列表,其中最後一欄是PID/Program name
發現8080埠被PID為9658的java進程佔用。
進一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看
就可以明確知道8080埠是被哪個程序佔用了!然後判斷是否使用KILL命令幹掉!
方法二:直接使用 netstat -anp | grep portno
即:netstat -anp|grep 8080
netstat -anp|grep 8080 --> tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 28500/java
ps -aux | grep 28500 --> r/local/tomcat9-jforum/tomcat
安裝lsof list open files//---也可以 netstat -tunlp|grep 埠號 netstat -anp|grep 埠號
yum install lsof
lsof -i:8080 查看8080埠佔用
lsof abc.txt 顯示開啟文件abc.txt的進程
lsof -c abc 顯示abc進程現在打開的文件
lsof -c -p 1234 列出進程號為1234的進程所打開的文件
lsof -g gid 顯示歸屬gid的進程情況
lsof +d /usr/local/ 顯示目錄下被進程開啟的文件
lsof +D /usr/local/ 同上,但是會搜索目錄下的目錄,時間較長
lsof -d 4 顯示使用fd為4的進程
lsof -i 用以顯示符合條件的進程情況
lsof -i[46] [protocol][@hostname|hostaddr][:service|port]
46 --> IPv4 or IPv6
protocol --> TCP or UDP
hostname --> Internet host name
hostaddr --> IPv4地址
service --> /etc/service中的 service name (可以不止一個)
port --> 埠號 (可以不止一個)
lsof -i //顯示所有打開的埠
lsof -i:80 //顯示所有打開80埠的進程
lsof -i -U //顯示所有打開的埠和UNIX domain文件
其實我一般這樣用:
[root@VM_39_230_centos bin]# lsof -i:3306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 16422 mysql 19u IPv6 148794 0t0 TCP *:mysql (LISTEN)
mysqld 16422 mysql 39u IPv6 643698 0t0 TCP localhost:mysql->localhost:36582 (ESTABLISHED)
mysqld 16422 mysql 45u IPv6 643699 0t0 TCP localhost:mysql->localhost:36584 (ESTABLISHED)
mysql
E. Linux系統下怎麼測試埠的連通性
方法/步驟
這個需要Linux伺服器里邊支持nc命令,如果還沒有裝的情況會顯示如下
我們可以使用yum命令直接安裝,我的是Centos
6.5系統
如果不會用,直接打nc命令就會顯示出它的使用方法
如果需要測試某個伺服器的埠在能不能正常在外面
訪問
例如我測試一下
180.97.33.107
這個IP
的80
埠有沒有開啟可以使用命令
nc
-z
-w
1
180.97.33.107
80
可以看到默認是使用TCP進行測試的,如果要測試UDP埠有沒有開放的可以添加-u
一起使用。例如我測試一下202.96.128.86
這個IP的UDP
53埠
nc
-u
-z
-w
1
202.96.128.86
53
6
上面可以看到成功的會顯示相關的信息,但是如果測試到埠是不開放的或者被防火牆攔截的就不會返回相關的信息。
F. linux系統怎麼查看埠
Linux系統一般可以使用netstat、lsof等命令來查看埠,用法示例:
netstat -tualp
netstat -tunlp|grep 8080(換成具體埠號)
lsof -i:8080(換成具體埠號)
G. 如何在Linux環境下測試埠的連通性
在Linux下telnet和nc這兩個命令都是是用來測試埠連通性。其中telnet可以測試tcp埠的連通性。nc可以測試tcp和udp埠的連通性。
具體使用方法如下:
1、確保linux機器上已經安裝了nc或者telnet命令,如果沒有通過yum安裝
#yuminstallnc
#yuminstalltelnet
2、telnet命令的使用:
語法:telnet<hostname/IPaddress><portnumber>
例子:
測試通過則會顯示下面的文字:
#telnet192.118.20.9522
Trying192.118.20.95...
Connectedto192.118.20.95.
Escapecharacteris'^]'.
SSH-2.0-OpenSSH_6.6.1
Protocolmismatch.
Connectionclosedbyforeignhost.
測試不通過:
#telnet192.118.20.9522
Trying192.118.20.95...
telnet:connecttoaddress192.118.20.95:Noroutetohost
3、nc測試TCP埠的連通性
語法:nc-z-v<hostname/IPaddress><portnumber>
測試通過:
#nc-z-v192.118.20.9522
Connectionto192.118.20.9522port[tcp/ssh]succeeded!
測試不通過:
#nc-z-v192.118.20.9522
nc:connectto192.118.20.95port22(tcp)failed:Noroutetohost
4、nc測試UDP埠的連通性
語法:nc-z-v-u<hostname/IPaddress><portnumber>
測試通過:
#nc-z-v-u192.118.20.95123
Connectionto192.118.20.95123port[udp/ntp]succeeded!
H. linux系統 ,不能使用telnet,如何測試埠
可以考慮使用埠掃描工具。
以ScanPort埠掃描工具為例(可以在網上下載):
起始IP,結束IP,要掃描的埠號碼,最高延遲(50可以),線程數目(速度,20左右就夠了)
像一個區域網一台電腦IP為123.123.123.123,那麼,一般主機一般為0(或1),也就是123.123.123.1(可作為起始)
,最後一個最多為123.123.123.255(就是結束IP)。埠號取決於你的目的,像輸入7626則是冰河木馬的默認後門埠.當搜索到打開了指定埠的電腦,就會在右邊顯示。
I. linux測試網路是否連通的命令
測試網路是否連通
1,ping IP 查看網路數據包是否可達 (首先PING 網關 如果網關都不通的話說明網路或配置有問題。如果網關通,但是沒有外網 或PING不通其他網段的網路)那麼可以實用下一條!
2,. traceroute Ip(域名)查看你是再哪一跳失敗的。 從而檢測出 是哪個設備的故障。比如網關 防火牆 路由器 交換機等。
測試埠是否連通
方法一、telnet法
telnet為用戶提供了在本地計算機上完成遠程主機工作的能力,因此可以通過telnet來測試埠的連通性,具體用法格式:
telnet ip port
說明:
ip:是測試主機的ip地址
port:是埠,比如80
如果telnet連接不存在的埠,那會如下圖所示。
如果telnet 連接存在埠會出現如下圖所示的內容,下圖中以80埠為例。
方法二、ssh法
SSH 是目前較可靠,專為遠程登錄會話和其他網路服務提供安全性的協議,在linux上可以通過ssh命令來測試埠的連通性,具體用法格式如下:
用法:ssh -v -p port username@ip
說明:
-v調試模式(會列印日誌).
-p指定埠
username:遠程主機的登錄用戶
ip:遠程主機
如果遠程主機開通了相應的埠,會有如下圖所示的建立成功的提示。
如果遠程主機沒有開通相應的埠,則如下圖所示
方法三、curl法
curl是利用URL語法在命令行方式下工作的開源文件傳輸工具。也可以用來測試埠的連通性,具體用法:
curl ip:port
說明:
ip:是測試主機的ip地址
port:是埠,比如80
如果遠程主機開通了相應的埠,都會輸出信息,如果沒有開通相應的埠,則沒有任何提示,需要CTRL+C斷開。
方法四、wget方法
wget是一個從網路上自動下載文件的自由工具,支持通過HTTP、HTTPS、FTP三個最常見的TCP/IP協議下載,並可以使用HTTP代理。wget名稱的由來是「World Wide Web」與「get」的結合,它也可以用來測試埠的連通性具體用法: 《Linux就該這么學》 學習更多linux命令。
wget ip:port
說明:
ip:是測試主機的ip地址
port:是埠,比如80
如果遠程主機不存在埠則會一直提示連接主機。
J. linux下如何測試一個IP地址的某個埠通不通
linux測試某個埠的連通性可以使用如下命令測試TCP協議
telnetipport
TCP/UDP協議測試埠
nc-vuzipport#測試udp協議
nc-vtzipport#測試tcp協議