0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分享几种可用于扫描开放端口的工具

CHANBAEK 来源:myfreax 作者:myfreax 2022-12-14 17:42 次阅读

无论是要解决网络连接问题还是配置防火墙,第一件事是要检查系统实际打开了哪些端口或者是应用监听那些端口。

监听端口是应用程序监听的计算机系统的端口。通过ssnetstatlsof命令查询系统网络命名空间,你可以得到的应用程序正在监听端口名单。

每个监听端口都可以被防火墙允许或关闭/阻止/过滤/转发。一般而言,开放端口是一个网络端口,它接受来自远程计算机传入数据包。

例如,如果你正在运行着Web服务器并监听80443端口,这些端口在防火墙上是对所有人开放。

除非被IPS封锁,使用浏览器将能够访问Web服务器的站点。在这种情况下,80443都是开放端口。

开放端口可能会带来安全风险,因为攻击者可以使用每个开放端口来进行漏洞攻击或执行其他类型的攻击。您应该只打开应用程序所需的端口,关闭未使用的端口。

nmap 扫描开放端口

Nmap是功能强大的网络扫描工具,可以扫描单个主机和大型网络。它主要用于安全审核和渗透测试。nmap是端口扫描的首选工具。

除端口扫描外,nmap还可以检测Mac地址,操作系统类型,内核版本等。在本节中,我们仅说明如何使用nmap扫描端口。

nmap的-sT选项可以扫描TCP端口,-p-扫描TCP协议的所有端口,即0-65535。如果不使用-p-nmap将仅扫描前1000个端口。

如果你需要扫描UDP端口,请使用-sU代替-sT 。如果需要更多信息,请访问nmap手册页,并了解此工具的功能。

以下nmap命令示例将会扫描IP地址是10.10.8.8计算机已打开的端口,确定哪些端口正在监听来自网络的TCP/UDP连接。

sudo nmap -sT -p- 10.10.8.8 #tcp
sudo nmap -sU -p- 10.10.8.8 #UDP
Starting Nmap 7.60 ( https://nmap.org ) at 2019-07-09 23:10 CEST
Nmap scan report for 10.10.8.8
Host is up (0.0012s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
MAC Address: 08:00:27:05:49:23 (Oracle VirtualBox virtual NIC)

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

输出显示,计算机打开的端口包括2280以及8069端口。

netcat 扫描打开端口

Netcat或nc是一个命令行工具,可以基于TCP或UDP协议通过网络连接读取和写入数据。

使用netcat命令可以扫描单个端口或端口范围。默认是扫描TCP协议的端口,要扫描UDP端口,请使用nc-u选项。

你可使用nc-z选项指示仅扫描已打开的端口,并且使用-v选项用于获取更多详细信息。1

如果需要获得已打开且可成功连接的端口,则可以使用grep命令过滤结果。

例如命令nc -z -v 10.10.8.8 20-80将会扫描IP地址是10.10.8.8的远程计算机,范围在20-80的TCP端口。

nc -z -v 10.10.8.8 20-80
nc -z -v 10.10.8.8 20-80 2>&1 | grep succeeded #tcp端口
nc -z -v -u 10.10.8.8 20-80 2>&1 | grep succeeded #udp端口
nc: connect to 10.10.8.8 port 20 (tcp) failed: Connection refused
nc: connect to 10.10.8.8 port 21 (tcp) failed: Connection refused
Connection to 10.10.8.8 22 port [tcp/ssh] succeeded!
...
Connection to 10.10.8.8 80 port [tcp/http] succeeded!

Bash 伪设备扫描端口

检查某个端口是打开还是关闭的另一种方法是使用Bash检查/dev/tcp/../dev/udp/..目录中的伪设备。

/dev/$PROTOCOL/$HOST/$IP伪设备运行命令时,Bash将在指定端口打开到指定主机的TCP或UDP连接。

使用伪设备连接到端口时的默认超时时间非常长,因此我们使用timeout命令在5秒后终止测试命令。如果建立了端口连接,则测试命令将返回true。

以下if..else语句将检查kernel.org打开是否打开端口443,如果建立到kernel.org端口的连接,则测试命令将返回true。

如果你需要使用检查指定端口范围,您也可以使用for循环来达到这一目的。

if timeout 5 bash -c '/dev/null'
then
  echo "Port is open"
else
  echo "Port is closed"
fi
for PORT in {20..80}; do
  timeout 1 bash -c "$PORT &>/dev/null" &&  echo "port $PORT is open"
done

for循环

port 22 is open
port 80 is open

结论

我们为您展示了几种可用于扫描开放端口的工具。还有其他工具和方法来检查打开的端口,例如,您可以使用Python socket模块curltelnetwget等。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10992

    浏览量

    206742
  • 计算机
    +关注

    关注

    19

    文章

    6652

    浏览量

    84568
  • 端口
    +关注

    关注

    4

    文章

    820

    浏览量

    31592
收藏 人收藏

    评论

    相关推荐

    端口引脚是否可用于从待机状态唤醒

    我们使用端口PA6,PC2和PC3引脚从待机模式唤醒到运行模式。 这些端口引脚是否可用于从待机状态唤醒。以上来自于谷歌翻译以下为原文 We are using port PA6,PC2
    发表于 11-01 14:25

    可用于提供交通运输数据的新工具

    法国研究机构CEA-Leti开发出可用于提供交通运输数据的新工具,包括一个可让通勤使用者佩戴的腕带型穿戴式应力监测器,以及与其搭配的智能手机应用程序(App),可用于侦测佩戴者所使用的交通运输方式,并评估使用者的决定对于环境的影
    发表于 08-19 07:39

    有没有免费的工具可用于STM32F4进行边界扫描测试?

    大家好,我正在使用 STM32F407G-DISC1 开发板。我有 ST-Link V2 外部调试器(我附上了哪个图像),因为我不想使用板载调试器。我想进行边界扫描测试。你能建议我有没有免费的工具可用于 STM32F4 进行边界
    发表于 01-31 08:33

    请问哪些工具可用于QoriQ PA?

    我正在使用 QoriQ T 系列 PowerPC 处理器进行开发。有哪些工具可用?Code Warrior 似乎不再可用。CW4NET 不包含 PowerPC 支持。QCVS 似乎只是 ARM Layerscape。PowerP
    发表于 04-07 06:44

    ESP-01模块:默认固件和无开放端口问题如何解决?

    没有开放端口。 那是标准会议吗?我以为我可以连接到它的网络服务器并软配置 SSID 和 PSK 以进入客户端模式。愚蠢的问题?
    发表于 06-06 12:02

    沃尔玛推出一款新的AR扫描工具 可用于对比产品

    沃尔玛宣布在其iPhone应用程序中推出一款新的AR扫描工具,该工具能够帮助用户进行产品比较。与典型的条形码扫描仪不同,沃尔玛的AR扫描仪可
    发表于 11-05 10:05 953次阅读

    可用于创建定制设计的信号链设计器工具介绍

    信号链设计器是先进的选择和设计环境,可用于创建定制设计,并直接交互访问200多个经过测试的应用电路和经验证的产品组合,以及最新的工程设计工具
    的头像 发表于 06-26 06:06 2107次阅读
    <b class='flag-5'>可用于</b>创建定制设计的信号链设计器<b class='flag-5'>工具</b>介绍

    Linux开放端口和关闭端口的方法

    Linux开放端口和关闭端口的方法如下
    发表于 05-18 09:14 1w次阅读
    Linux<b class='flag-5'>开放</b><b class='flag-5'>端口</b>和关闭<b class='flag-5'>端口</b>的方法

    LabVIEW中可用几种计算模型

    本文将概括了在LabVIEW中可用几种计算模型,以及何时使用这些模型的指南。
    发表于 04-25 15:46 21次下载

    可用于低功耗设计的技术方法

    几种技术可用于低功耗设计,但是每当纳瓦或皮焦耳重要时,必须使用所有可用方法。
    发表于 06-16 14:49 904次阅读
    <b class='flag-5'>可用于</b>低功耗设计的技术方法

    简洁高效的XSS扫描工具

    XSSCon是一个用于扫描和利用XSS漏洞的工具,基于python 3.7编写。
    的头像 发表于 01-17 09:25 1609次阅读

    市场上可用的十大最佳漏洞扫描工具

    OpenVAS漏洞扫描器是一种漏洞分析工具,由于其全面的特性,可以使用它来扫描服务器和网络设备。这些扫描器将通过扫描现有设施中的
    的头像 发表于 03-08 09:49 3254次阅读

    一款使用在线端口扫描网站进行端口扫描工具

    scanless介绍 scanless是一款使用在线端口扫描网站进行端口扫描工具,因为使用了第三方扫描平台,所以进行端口扫描时可实现匿名
    的头像 发表于 06-24 09:48 1519次阅读
    一款使用在线<b class='flag-5'>端口扫描</b>网站进行<b class='flag-5'>端口扫描</b>的<b class='flag-5'>工具</b>

    linux服务器端口怎么开放

    在Linux系统上,开放端口通常是通过配置防火墙(firewall)来完成的。不同的Linux发行版可能使用不同的防火墙工具,以下是几个常见的Linux防火墙工具: 一、iptable
    的头像 发表于 12-19 17:21 456次阅读

    什么是串行端口?有哪几种分类?

    什么是串行端口?有哪几种分类? 串行端口是计算机中用于进行数据传输的一种接口类型,通过单一的数据线逐位地传输数据。与串行端口相对应的是并行
    的头像 发表于 02-02 15:40 753次阅读