Products
GG网络技术分享 2025-03-18 16:06 6
使用telnet测试指定端口的连通性
大家好,我是良许。
大家知道,telnet 是一个阉割版的 ssh ,它数据不加密,数据容易被盗窃,也容易受中间人攻击,所以默认情况下 telnet 端口是必须要被关闭的。
telnet为用户提供了在本地计算机上完成远程主机工作的能力,因此可以通过telnet来测试端口的连通性。
确认远程主机的端口
在测试端口的连通性之前,我们先使用 nmap 命令来查看目标服务器的端口开放状态。
$ nmap lxlinux.net
使用telnet测试端口的连通性
在确认了目标服务器的端口开放性之后,我们就可以使用 telnet 来测试端口的连通性了。测试的格式是:
$ telnet server port
比如我们想要测试 http 的端口(80)连通性,我们可以这样测试:
$ telnet lxlinux.net 80
从提示中我们可以看出来,它显示 Connected to lxlinux.net. ,这说明这个端口是是连通的。
如果端口是不连通的,那么它将提示 unable connect to remote host: Connection timed out 。
现在我们再来试试关闭的端口。我们来测试一下 22 端口,这个端口没有被 nmap 扫描出来,所以应该是关闭的。为了保险起见,我们可以用 nmap 再来确认一下,这时我们要加上 -p 选项。
$ nmap -p 22 lxlinux.net
所以现在确认了 22 端口是关闭的了,我们就可以使用 telnet 来测试它的连通性。
$ telnet lxlinux.net 22
提示里显示Connection refused ,这说明这个端口也是不连通的。
当你用 telnet 连接上某个端口后,可以按 CTRL+] 进入到交互界面:
telnet>
然后再输入 quit 再敲下回车,即可退出连接。
利用 telnet 的这个特性,我们可以写个脚本来测试多个主机及端口的连通性。
比如我们写了下面这个脚本 multipletelnet.sh :
#!/bin/bash
telnet lxlinux.net 80
telnet baidu.com 80
telnet lxlinux.net 443
然后我们再使用 chmod 命令赋予它可执行权限:
$ chmod +x multipletelnet.sh
当然,如果你想要同时测试多个端口的话,那么这个脚本就有点力不从心了,在这种情况下,你就需要用到 nmap 及其它相似工具了。
1,tcp 端口检测
telnet ip port
[dev@kf-dev-node-004 ~]$ telnet 10.32.2.231 5060
失败:
Trying 10.32.2.231…
telnet: connect to address 10.32.2.231: Connection refused
成功:
[dev@kf-dev-node-004 ~]$ telnet 10.32.2.232 5080
Trying 10.32.2.232…
Connected to 10.32.2.232.
2,udp 端口检测
nc -vuz 10.32.2.231 5060
如果没有请自行安装
sudo yum install nc
a机器上运行:
nc -ul 1080
或:
netcat -ul -p 1080
#使用udp模式监听1080 端口
b机器上运行:
nc -u x.x.x.x 1080
netcat -u x.x.x.x 1080
#使用udp模式向该ip的1080端口发送信息。
失败的表现为:
nc -vuz x.x.x.x 16385
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to x.x.x.x:16385.
Ncat: Connection refused.
3,tcpdump发送抓包检测
sudo tcpdump -vvv -X udp port 6080
从另一个机器发包
echo “hello” | socat – udp4-datagram:10.32.2.231:5080
这边可以收到,证明没有问题:
sudo tcpdump -vvv -X udp port 5080
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
19:06:34.710707 IP (tos 0x0, ttl 64, id 52039, offset 0, flags [DF], proto UDP (17), length 40)
10.32.2.232.49090 > iZbp1c2a8ike46vqst3z81Z.onscreen: [udp sum ok] UDP, length 12
0x0000: 4500 0028 cb47 4000 4011 556f 0a20 02e8 E…(.G@.@.Uo…
0x0010: 0a20 02e7 bfc2 13d8 0014 41cc e280 9c68 …A…h
0x0020: 656c 6c6f e280 9d0a ello…
Demand feedback