Как запустить файл python и сканировать сгенерированные ips с помощью nmap

Я написал скрипт python для поиска в shodan, мой код скрипта возвращает файл, содержащий список IP-адресов, каждая строка которого содержит один IP-адрес. вот мой код:

import shodan
SHODAN_API="YOUR_SHODAN_API"
api = shodan.Shodan(SHODAN_API)
try:
    # Search Using Shodan
    results = api.search('EXAMPLE')

    # Showing the results
    print 'Results found: %s' % results['total']
    for result in results['matches']:
        print '%s' % result['ip_str']
    ''' following lines could be uncommented due to more information
    Don't Uncomment if you are using scanning methods with the results '''
        #print result['data']
        #print ''
except shodan.APIError, e:
    print 'Error: %s' % e

Мне было интересно, есть ли способ автоматизировать задачу запуска моего кода, а затем сканирования списка IP-адресов с помощью внешнего сценария или чего-то, что работает в OSX и Linux?


person SomeGuyBig    schedule 05.08.2020    source источник


Ответы (2)


Вы можете просто использовать скрипт bash, подобный следующему:

#!/bin/bash
python ShodanSearch.py >> IPResult.txt
cat IPResult.txt | while read line
do
sudo nmap -n -Pn -sV -p 80,8080 -oG - $line >> NResult.txt
done
person Ashkan    schedule 05.08.2020
comment
Спасибо за ваше время, но как я могу его использовать? - person SomeGuyBig; 05.08.2020
comment
Просто создайте новый файл с именем what.sh и поместите в него этот код, а затем запустите его, набрав bash whatever.sh в терминале или ./whatever.sh. - person Ashkan; 05.08.2020

В качестве альтернативы приведенному выше решению вы также можете выполнить nmap, используя модуль python os для выполнения команд оболочки в вашем скрипте python, или теперь предпочтительный метод — с модулем подпроцесса, лично не использовал последний, но он определенно может делай что хочешь.

person NeelD    schedule 05.08.2020