25
février 2014
Abandon, Reprise, Echec ?
25
février 2014
14
avril 2011
Rédigé par Matthieu CERDA Aucun commentaire Mis à jour le 14/04/2011
05
avril 2011
Rédigé par Matthieu CERDA Aucun commentaire Mis à jour le 05/04/2011
05
avril 2011
Rédigé par Matthieu CERDA Aucun commentaire Mis à jour le 05/04/2011
#!/usr/bin/env python
import socket
import sys
print "Little Python port scanner - fast, buggy and noisy - i'm running on python %s\n" % sys.version # Nice friendly greeting
if len(sys.argv) < 6: # Uh ? what did you say ?
sys.exit("""You're obviously trying to get me to run without the required arguments. I'm expecting to receive:
%s host range_start range_end timeout mode ( intrusive or stealth )
Ex: ./lilpy 192.168.1.254 1 1024 0.2 intrusive
""" % sys.argv[0])
if socket.has_ipv6: # A nice polished touch though.
print "IPv6 support is available."
else:
print "IPv6 is not supported on this system."
print "Testing " + sys.argv[1] # Confirming hostname
print "Testing range from " + sys.argv[2] + " to " + sys.argv[3] # Confirming range
print "TimeOut set to " + sys.argv[4] # Confirming timeout
if sys.argv[5] == "intrusive": # What mode will I use ?
print "Switching to intrusive mode\n" # Lock'n'load !
else:
print "Switching to stealth mode\n" # Shhhhh ...
hack = int(sys.argv[3]) + 1 # Ugly hack to prevent timeout issues on the last port analyzed.
for port in range(int(sys.argv[2]),hack): # Main loop
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # Creating socket
sock.settimeout(float(sys.argv[4])) # Setting timeout
sock.connect((sys.argv[1], port)) # knock knock ?
print "Port open: %d" % port # "Who's there ?"
if sys.argv[5] == "intrusive": # Sarah connor ?
if port == 80: # Little extra
sock.send('GET / HTTP/1.1\nHost: %s\n\n' % sys.argv[1])
print "- Port successfully connected, attempting to get something ... :\n\n ---BEGIN SERVICE ---\n%s\n ---END SERVICE---\n" % sock.recv(1024) # Uh nope it's the other door, see ?
sock.close() # Be polite
except socket.error:
pass # If we fail to connect, don't care and go on
except KeyboardInterrupt:
print "\nBailing out ..." # HALP ME GETTING KILLED !!!
quit()
21
mars 2011