据我所知,Shodan似乎是从列表中随机选择IP和端口。这真的是扫描整个Internet的IoT设备的最佳方法吗?

评论

你还会怎么做呢?您可以抓取具有超链接的HTTP。除了蛮力(对于IP v6,请耐心等待)之外,您还能如何找到物联网设备-除非您知道制造商被分配了一块固定IP地址,这似乎不太可能。

如果按顺序选择端口,则制造商将更容易识别固件中的Shodan扫描并将其阻止。随机化是一种混淆HTTP查询源的工作,这反过来又使它很难识别为扫描或入侵尝试,从而(理论上)又使结果数据集更可靠。

这是一个执行点。也许值得发布作为答案? Otoh,对于小型设备而言,要检查和存储数据的额外代码可能太多了。不过,它可以做成一个好的FOSS(甚至商业)产品。

@WayToDoor Random-我明白了。不,我想不到原因。 Otoh,您可以通过排除地址范围(例如已知分配给主要ISP的地址范围)来使其效率更高。

可靠的是什么?要查找特定域中的所有设备?寻找某种类型的所有设备?用于检测特定设备是否可以从Internet看到吗?等

#1 楼

为了扫描整个Internet,您需要扫描整个Internet:IP地址和端口的每个组合。此外,您需要以隐藏正在执行的操作的方式进行操作,以免被阻塞。

简单的顺序扫描是显而易见的方法,但顺序扫描很容易发现。相反,Shodan以明显的随机模式(地址/端口组合的完整列表的排列)进行扫描,并从各种源地址中进行扫描。这样做意味着需要更长的时间才能说出给定地址上有(或没有)IoT设备,但这也使扫描看起来更像是互联网的随机噪声。