I am trying to write a Python script that uses the Scapy module to check the internal IP range to determine which IP address is on the network. I still have this:
#!/usr/bin/python from scapy.all import * conf.verb = 0 for ip in range(0, 256): packet = IP(dst="192.168.0." + str(ip), ttl=20)/ICMP() reply = sr1(packet) if "192.168." in reply.src: print reply.src, "is online"
And the program will sit for a while, doing nothing, and then, if I kill it with CTRL + C, I get an error message:
Traceback (most recent call last): File "sweep.py", line 7, in <module> if "192.168." in reply.src: AttributeError: 'NoneType' object has no attribute 'src'
However, if I try to use a single IP address rather than a range, it works. Like this:
#!/usr/bin/python from scapy.all import * conf.verb = 0 packet = IP(dst="192.168.0.195", ttl=20)/ICMP() reply = sr1(packet) if "192.168." in reply.src: print reply.src, "is online"
Does anyone know how I can fix this problem? Or do you have other ideas on how I can ping the Scapy IP range to determine which hosts are on the network?
source share