-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathmqtt.py
45 lines (36 loc) · 991 Bytes
/
mqtt.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import paho.mqtt.client as mqtt
import shodan
import time
import os
def search():
SHODAN_API_KEY = "API_KEY_SHODAN"
TERM_TO_SEARCH = "mqtt code 0"
api = shodan.Shodan(SHODAN_API_KEY)
try:
results = api.search(TERM_TO_SEARCH)
os.system("rm teste -f")
for result in results['matches']:
searching = result['ip_str']
os.system("echo %s" %searching + " >> teste")
except shodan.APIError, e:
pass
def on_connect(client, userdata, rc, flags):
client.subscribe('#', qos=1)
client.subscribe('$SYS/#')
def on_message(client, userdata, message):
print 'Topic: %s | QOS: %s | Message: %s' % (message.topic, message.qos, message.payload)
def main():
f = open('teste')
text = f.readlines()
for final in text:
print "IP: %s" %final
client = mqtt.Client("Instance")
client.on_connect = on_connect
client.on_message = on_message
client.connect(final)
client.loop_start()
time.sleep(10)
client.loop_stop()
if __name__ == "__main__":
search()
main()