Как запустить файл Python и сканировать сгенерированные IP-адреса с помощью 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?

# macos python-2.7 shodan
Источник
Codelisting
за 1 против
Лучший ответ

Вы можете просто использовать сценарий 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
  • 0
    Спасибо за ваше время, но как я могу его использовать?
  • 1
    Просто создайте новый файл с именем «something.sh» и поместите в него этот код, затем запустите его, набрав bash whatever.sh ./whatever.sh в терминале или ./whatever.sh
за 0 против

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

Codelisting
Популярные категории
На заметку программисту