Asynchronous scanning

We can perform asynchronous scans using the PortScannerAsync() class. In this case, when performing the scan we can indicate an additional callback parameter where we define the return function, which would be executed at the end of the scan:

import nmapnmasync = nmap.PortScannerAsync()def callback_result(host, scan_result):    print host, scan_resultnmasync.scan(hosts='127.0.0.1', arguments='-sP', callback=callback_result)while nmasync.still_scanning():    print("Waiting >>>")    nmasync.wait(2)

In this way, we can define a callback function that is executed whenever Nmap has a result for the machine we are analyzing.

The following script allows us to perform a scan with Nmap asynchronously so that the target and port are ...

Get Mastering Python for Networking and Security now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.