像闪电一样快速扫描全网的 IP 地址

鸟窝 at 
像闪电一样快速扫描全网的IP地址的配图
新开一个 Go 编程系列,主要讲 Go 语言的高级编程技术,希望能像《Go 并发编程指南》一样形成一个系列,不要断更。这一篇是使用 gopacket 库编程的一部分,主要是通过手工构造数据链路层、网络层、传输层的包,实现扫描全网(示例中是中国大陆的) ipv4 的 IP 地址,看看对应的网络是否可达。 首先我们需要知道全网的 IP 地址,其实我们可以使用 fping 探测这些 IP 是否连通,然后我们自己基于 ICMP 快速扫描这些 IP,找出全网活跃的 IP 地址,最后我们使用 tcp scan 的方式扫描全网的 IP,甚至你可以扫描公网上暴露的 Redis 实例。请勿用本文介绍的技术做任何……