我正在使用VB.net来ping域/ IP,使用以下代码;
My.Computer.Network.Ping(Address, 1000)
我现在想在域/ IP中添加一个端口 - 例如google.co.uk:21
我该怎么做?
答案 0 :(得分:6)
您无法ping通端口,但可以尝试使用TCP / IP或UDP连接到特定端口。端口概念属于协议栈的传输层(TCP或UDP),而ping位于较低的网络层(ICMP协议)。
答案 1 :(得分:3)
您可以使用此功能测试端口是否“打开”:
Function CheckPortOpen(ByVal hostname As String, ByVal portnum As Integer) As Boolean
Dim ipa As IPAddress = CType(Dns.GetHostAddresses(hostname)(0), IPAddress)
Try
Dim sock As Socket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
Console.WriteLine("Testing " & hostname & ":" & portnum)
sock.Connect(ipa, portnum)
If (sock.Connected = True) Then
sock.Close()
sock = Nothing
Return True
End If
Catch sx As SocketException
If sx.ErrorCode = 10061 Then
Return False
Else
Return Nothing
End If
End Try
End Function
答案 2 :(得分:2)
你没有,因为这不是ping的工作方式。 ICMP协议中没有端口的概念。
如果要查看服务器上是否已打开端口,则必须尝试使用TCP或UDP连接到该端口(具体取决于该服务器所需的协议)。没有其他方法可以检查开放端口。