Go 中的网络扫描:TCP 端口探测,使用goroutines和通道等语言功能可以极大地帮助我们的工具和系统的速度

在 Go 中编写 TCP 扫描器以获取乐趣和学习。从网络扫描到服务指纹识别。了解goroutines和channels。

在我们开始之前——不要违反规则

修补我们不拥有的设备是不好的。绝对是个坏主意。始终牢记一些好的建议:

  • 不要扫描任何您没有权限的网络
  • 不要扫描任何您没有权限的主机
  • 此处代码仅供学习

识别哪些设备连接到网络以及它们提供哪些服务本身就是一个完整的主题。

端口扫描

端口扫描是一种机制,用于探测和识别远程计算机上打开的端口以及它提供的指纹服务(如果可能)。这包括 SSH、FTP、Web 服务器或 SQL Server 等。

端口扫描和主机发现通常提到三种技术。这些与ICMP、TCP和UDP相关。所有这些识别网络上主机的技术都有效,每一种技术都各有利弊。

使用 nmap 扫描一千个端口

此示例中的代码不是nmap的替代品。我只想说清楚。只是试图了解如何在golang中编写 TCP 端口扫描程序。

要在nmap中对前 100 个端口进行 TCP 端口扫描,我们需要传递标志-sT,-p然后传递端口列表。这些应该是从 1 到 1024 的端口

 time nmap -sT -p 1-1024 192.168.0.42
Starting Nmap 7.91 ( https://nmap.org ) at 2023-01-15 06:40 GMT
Nmap scan report for rpi (192.168.0.42)for rpi (192.168.0.42)
Host is up (0.0062s latency).
Not shown: 1021 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
53/tcp open  domain
80/tc
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值