NMap(Network Mapper):最初是Linux下的网络扫描和嗅探工具包,它通过扫描网上电脑开放的网络连接端,确定哪些服务运行在哪些连接端,并可以推断出电脑运行在的操作系统的类型,还可以评估网络系统的安全性。
原理是发送请求然后监听回应,虽然请求可以同步进行,但记录未回应的请求需要开销很大,导致效率不高。NMap扫描全部网址需要数周的时间。
ZMap:一款能在44分钟内扫描全部互联网地址的软件。ZMap较NMap使用了不同的方法,它发送请求后就忽略了,对未回应的请求并不记录,而是在发送的数据包中编码身份信息去识别回应,从而降低开销。
ZMap的源码:https://github.com/zmap/zmap/releases