How to test whether the port is connected (four methods)

In general, "telnet ip port" is used to judge whether the port is connected or not. In fact, there is not only one test method, but there are many methods. The following editor will share several methods with you. Please read the details below:

Prepare the environment

Start a web server, providing the port.

?
1
2
[wyq@localhost ~]$ python -m SimpleHTTPServer 8080
Serving HTTP on 0.0.0.0 port 8080 ...

The same is true for using other web servers to provide ports. Since python is more convenient, it is used here.

1. Use telnet to judge

Telnet is a Windows standard service and can be used directly; if it is a Linux machine, telnet needs to be installed.

Usage: telnet ip port

1) First use telnet to connect to the non-existing port

?
1
2
3
[root@localhost ~] # telnet 10.0.250.3 80
Trying 10.0.250.3...
telnet: connect to address 10.0.250.3: Connection refused #直接提示连接被拒绝

2) Reconnect the existing port

?
1
2
3
4
5
6
7
8
[root@localhost ~] # telnet localhost 22
Trying ::1...
Connected to localhost. #看到Connected就连接成功了
Escape character is '^]' .
SSH-2.0-OpenSSH_5.3
a
Protocol mismatch.
Connection closed by foreign host.

2. Use ssh to judge

ssh is the standard configuration of linux and the most commonly used, can it be used to determine the port?

Usage: ssh -v -p port username@ip

-v debug mode (log will be printed).

-p specifies the port

username can be arbitrary

1) The connection does not exist on the port

?
1
2
3
4
5
6
7
8
9
[root@localhost ~] # ssh 10.0.250.3 -p 80
ssh : connect to host 10.0.250.3 port 80: Connection refused
[root@localhost ~] # ssh 10.0.250.3 -p 80 -v
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 10.0.250.3 [10.0.250.3] port 80.
debug1: connect to address 10.0.250.3 port 80: Connection refused
ssh : connect to host 10.0.250.3 port 80: Connection refused

2) Connect to the existing port

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@localhost ~] # ssh ... -p
a
^]
^C
[root@localhost ~] # ssh ... -p -v
OpenSSH_.p, OpenSSL ..e-fips Feb
debug: Reading configuration data /etc/ssh/ssh_config
debug: Applying options for *
debug: Connecting to ... [...] port .
debug: Connection established.
debug: permanently_set_uid: /
debug: identity file /root/ . ssh /identity type -
debug: identity file /root/ . ssh /identity-cert type -
debug: identity file /root/ . ssh /id_rsa type -
debug: identity file /root/ . ssh /id_rsa-cert type -
debug: identity file /root/ . ssh /id_dsa type -
debug: identity file /root/ . ssh /id_dsa-cert type -
a
^C

You can do it without the -v option

3. Use wget to judge

wget is a download tool under linux and needs to be installed first.

Usage: wget ip:port

1) Connect to a port that does not exist

?
1
2
3
[root@localhost ~] # wget ...:
---- ::-- http: // .../
Connecting to ...:... failed: Connection refused.

2) Connect to the existing port

?
1
2
3
4
[root@localhost ~] # wget ...:
---- ::-- http: // ...:/
Connecting to ...:... connected.
HTTP request sent, awaiting response...

4. Use a port scanning tool

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[root@localhost ~] # nmap ... -p
Starting Nmap . ( http: //nmap .org ) at -- : CST
Nmap scan report for ...
Host is up (.s latency).
PORT STATE SERVICE
/tcp closed http
MAC Address: B:A::CF:FD:D (Unknown)
Nmap done : IP address ( host up) scanned in . seconds
[root@localhost ~] # nmap ... -p
Starting Nmap . ( http: //nmap .org ) at -- : CST
Nmap scan report for ...
Host is up (.s latency).
PORT STATE SERVICE
/tcp open http-proxy
MAC Address: B:A::CF:FD:D (Unknown)
Nmap done : IP address ( host up) scanned in . seconds
[root@localhost ~] # nmap ...
Starting Nmap . ( http: //nmap .org ) at -- : CST
Nmap scan report for ...
Host is up (.s latency).
Not shown: closed ports
PORT STATE SERVICE
/tcp open ssh
/tcp open rpcbind
/tcp open http-proxy
/tcp open unknown
MAC Address: B:A::CF:FD:D (Unknown)
Nmap done : IP address ( host up) scanned in . seconds

总结

提供端口服务,则使用了tcp协议,上面是以web服务器为例。如果服务器是更简单的tcp服务器,三个工具同样适用.

三个工具的共同点是:1.以tcp协议为基础;2.能访问指定端口. 遵循这两点可以找到很多工具.

一般在windows下使用telnet比较方便,linux下个人就比较喜欢用wget.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326072640&siteId=291194637