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.