2008-11-07 199 views
394

我想在服務器上的備用端口下安裝一個網站,但該端口可以被防火牆關閉。有沒有辦法在特定的端口上進行ping操作或查看它是否打開?如何確定端口是否在Windows服務器上打開?

+0

另請參見http://serverfault.com/questions/309357/ping-a-specific-port – Vadzim 2015-09-07 11:00:49

+0

也檢查此 - http://stackoverflow.com/questions/41522605/how-to-check-if-port遠程服務器隨批處理文件和不帶Thir – npocmaka 2017-01-25 20:10:10

回答

602

假設它是一個TCP(而不是UDP)端口,您正在嘗試使用:

  1. 在服務器本身,使用netstat -an進行檢查,看哪些端口監聽

  2. 從外面,只是telnet host port(或在Unix系統telnet host:port),看是否連接被拒絕,接受或超時

在那後面的測試,然後在一般:

  • 拒絕連接意味着沒有什麼是該端口
  • 接受上運行意味着什麼是該端口
  • 超時上運行意味着防火牆阻止訪問

Win7上或Vista默認選項'telnet'不被識別爲內部或外部命令,可操作程序或批處理文件。要解決這個問題,只需啓用它:單擊開始,控制面板,程序,然後打開或關閉Windows功能。在列表中,向下滾動並選擇Telnet客戶端,然後單擊確定

+282

在Win7或Vista中,默認選項'telnet'不被識別爲內部或外部命令,可操作程序或批處理文件。要解決這個問題,只需啓用它:單擊開始,控制面板,程序,然後打開或關閉Windows功能。在列表中,向下滾動並選擇Telnet客戶端,然後單擊確定 – volody 2010-11-03 01:41:39

+0

@volody任何建議,如何做到這一點W/O管理員權限? – 2014-04-24 07:44:02

+11

@PankajKohli改爲使用[PuTTy](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)telnet客戶端。它不需要安裝。 – 2014-05-12 14:28:04

10

你想要做的工具嗎?有一個網站http://www.canyouseeme.org/。否則,你需要一些其他的服務器給你打電話回看到,如果一個端口是開放的......

24

如果Telnet不可用,下載PuTTY。它是一個非常優秀的telnet,ssh等客戶端,在許多情況下都會有用,而不僅僅是這一點,尤其是在管理服務器時。

143

只是想補充一點,在Windows中可以使用

netstat -na | find "your_port" 

縮小的結果。您還可以過濾LISTENINGESTABLISHEDTCP和這樣的。不過,請注意區分大小寫。

5

在Windows Server,你可以使用

netstat -an | where{$_.Contains("Yourport")} 

1

這裏是我工作,

  • 打開命令提示符
  • 輸入telnet
  • 微軟的Telnet>打開

這將確認端口是否打開。

34

我不喜歡的是:

netstat -an | find "8080" 

從遠程登錄

telnet 192.168.100.132 8080 

而只是確保防火牆是關閉的那臺機器上。

34

在Windows機器上,你可以使用來自微軟PortQry檢查應用是否已經是一個特定端口上使用以下命令聽:

portqry -n 11.22.33.44 -p tcp -e 80 
9

使用這個,如果你想看到所有的使用和聽力Windows服務器上的端口:

netstat -an |find /i "listening" 

查看所有打開的,聽,建立港口:

netstat -a 
2

從Sysinternals psping也很好

2

另一種選擇是tcping

例如:

tcping host port

36

如果你從外面檢查,而不是從服務器本身,你不想打擾安裝Telnet(因爲它不來的的Windows版本的最後一次)或任何其他軟件,那麼你有本地的PowerShell:

Test-NetConnection -Port 800 -ComputerName 192.168.0.1 -InformationLevel Detailed 

(不幸的是這僅使用PowerShell 4.0或更高版本的作品要檢查你的PS版,型$PSVersionTable


(如果您的PSVersion爲< 4.0,那麼您的運氣不好。檢查此表:

enter image description here

即使你可以通過安裝Windows Management Framework 4.0升級的PowerShell的版本,它並沒有爲我做的伎倆,試驗的NetConnection cmdlet的仍然是不可用)。

1
Test-NetConnection -Port 800 -ComputerName 192.168.0.1 -InformationLevel Detailed 

上面的PowerShell的例子只是上面的Windows 7的Windows版本有效的cmdlet的是與Windows 7不兼容。

相關問題