Linux端口扫描方法

it2023-07-14  72

在开发,调试,测试中,经常需要查看某台机子有没有开放指定的断口,这里列出了两种常用的查找Linux系统上哪些端口向外部开放的方法。当然,不止这两种方法,也可以自己写一个端口扫描工具。具体实现要根据TCP和UDP的协议原理来实现端口扫描。

使用nmap命令检查开放端口

nmap(Network exploration tool and security / port scanner)是功能强大的网络扫描工具,可以扫描单个主机和大型网络。它主要用于安全审核和渗透测试。是端口扫描的首选工具。

例如可使用如下命令进行端口扫描:sudo nmap -sT -p- 192.168.8.51。-sT 选项告诉nmap扫描TCP端口, -p-扫描所有端口(65535个)

sl@Li:~/Works/brochain/corsac$ sudo nmap -sT -p- 192.168.8.51 Starting Nmap 7.60 ( https://nmap.org ) at 2020-10-20 17:11 CST Nmap scan report for 192.168.8.51 Host is up (0.00048s latency). Not shown: 65528 closed ports PORT STATE SERVICE 22/tcp open ssh 4000/tcp open remoteanything 4369/tcp open epmd 4444/tcp open krb524 5672/tcp open amqp 25672/tcp open unknown 40000/tcp open safetynetp Nmap done: 1 IP address (1 host up) scanned in 3.39 seconds

结果显示,有几个tcp端口对外开。可以访问。

其他详细用法,可直接查看命令帮助文档。

使用netcat命令检查开放端口

netcat(或nc)是一种命令行工具,可以使用TCP或UDP协议跨网络连接读取和写入数据。使用netcat可以扫描单个端口或端口范围。

例如,要扫描IP地址192.168.8.51在范围内的远程计算机上打开的TCP端口,4000-4004可以使用以下命令:

nc -z -v 192.168.8.51 4000-4004

-z选项指示nc仅扫描打开的端口,而不发送任何数据,并且-v用于获取更多详细信息。运行结果如下:

sl@Li:~/Works/brochain/corsac$ nc -z -v 192.168.8.51 4000-4004 Connection to 192.168.8.51 4000 port [tcp/*] succeeded! nc: connect to 192.168.8.51 port 4001 (tcp) failed: Connection refused nc: connect to 192.168.8.51 port 4002 (tcp) failed: Connection refused nc: connect to 192.168.8.51 port 4003 (tcp) failed: Connection refused nc: connect to 192.168.8.51 port 4004 (tcp) failed: Connection refused
最新回复(0)