得之我幸 失之我命

when someone abandons you,it is him that gets loss because he lost someone who truly loves him but you just lost one who doesn’t love you.

检查远程 Linux 某个端口是否开启

远程端口这个话题可大可小,应用也比较广泛,常见的比如配置服务器的时候会需要打开固定的某几个端口,这时候就可以用下面的方面做一下检测

本文记录了三种检查方法

nc

nc(netcat)是一个简单的 Unix 工具,它使用 TCP 或 UDP 协议去读写网络连接间的数据,是一个可信赖的后端工具,可被直接使用或者简单地被其他程序或脚本调用。此外,它也是一个富含功能的网络调试和探索工具,可以创建你所需的几乎所有类型的连接,并且还拥有几个内置的有趣功能

netcat 有三类功能模式,它们分别为连接模式、监听模式、隧道模式

1
2
3
4
5
6
7
8
9
10
11
# 检查远程 Linux 系统中的 22 端口是否开启
$ nc -zvw3 192.168.1.8 22
Connection to 192.168.1.8 22 port [tcp/ssh] succeeded! # 端口开启

$ nc -zvw3 192.168.1.95 22
nc: connect to 192.168.1.95 port 22 (tcp) failed: Connection refused # 端口没有开启

# 参数解释
# -z Zero-I/O mode [used for scanning]
# -v Verbose
# -w3 Timeout for connects and final net reads

nmap

nmap(Network Mapper)是一个用于网络探索和安全审计的开源工具,被设计用来快速地扫描大规模网络,对于单个主机它同样能够正常工作

nmap 以一种新颖的方式,使用裸 IP 包来决定网络中的主机是否可达,这些主机正提供什么服务(应用名和版本号),它们运行的操作系统(系统的版本),它们正在使用的是什么包过滤软件或者防火墙,以及其他额外的特性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ nmap 192.168.1.8 -p 22  # 端口开启

Starting Nmap 7.70 ( https://nmap.org ) at 2019-03-16 03:37 IST Nmap scan report for 192.168.1.8 Host is up (0.00031s latency).

PORT STATE SERVICE

22/tcp open ssh
Nmap done: 1 IP address (1 host up) scanned in 13.06 seconds

$ nmap 192.168.1.8 -p 80 # 端口没有开启
Starting Nmap 7.70 ( https://nmap.org ) at 2019-03-16 04:30 IST
Nmap scan report for 192.168.1.8
Host is up (0.00036s latency).

PORT STATE SERVICE
80/tcp closed http

Nmap done: 1 IP address (1 host up) scanned in 13.07 seconds

telnet 命令被用来交互地通过 TELNET 协议与另一台主机通信

1
2
3
4
5
6
7
8
9
10
11
12
$ telnet 192.168.1.9 22  # 端口开启
Trying 192.168.1.9...
Connected to 192.168.1.9.
Escape character is '^]'.
SSH-2.0-OpenSSH_8.6

Invalid SSH identification string.
Connection closed by foreign host.

$ telnet 192.168.1.9 80 # 端口没有开启
Trying 192.168.1.9...
telnet: Unable to connect to remote host: Connection refused

be yourself, everyone else is already taken.