linuxmacospython-2.7shodan

How to run a python file and scan the generated ips by nmap


I have written a python script to search through shodan, my script code returns a file containing an ip list that each line contains single ip. here is my code:

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

I was wondering if there is any way to automate the task of running my code and then scanning the ip list by external script or something that work on OSX and Linux ?


Solution

  • You can simply use a bash script like the following one:

    #!/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