A multithreaded scanner for detecting IoT devices, which allows you to identify a device on the Internet based on a specific request to it. This allows you to more accurately determine the device and avoid false positives or honeypot
Note: It's better to split the input list by 150k lines
Usage of ./iot_detector:
-a Auto URL scheme
-l string
List of ip,port
-p string
Ports to scan (e.g. 22,80,443,1000-2000)
-r string
Json request file
-t int
Thread count (default 1000)
-v Verbose
{
"path": "/cgi-bin/target.cgi",
"method": "POST",
"headers": {
"Content-Type": "text/xml; charset=utf-8",
"X-Requested-With": "XMLHttpRequest"
},
"data": "action=get_device_info&method=1",
"search": "<DeviceName>DIR-123</DeviceName>"
}
path
- A specific URL, when accessed, returns the model or version of the devicemethod
- Request method GET or POSTheaders
- Request headerdata
- Post request bodysearch
- Success detection pattern
$ go build .
$ ./iot_detector ...