def __init__(self, bindaddr="0.0.0.0", port=4444, backlog=5):
self.inputs = []
self.outputs = []
self.clientmap = {}
self.banner = None
self.fuzz_queue = Queue.Queue()
# Validate IP address
try:
socket.inet_aton(bindaddr)
except socket.error:
print "[-] Invalid bindaddr: %s" % bindaddr
print "[-] Exiting."
sys.exit(os.EX_USAGE)
# Validate port number
if port > 65535 or port < 1:
print "[-] Invalid port number: %d" % port
print "[-] Exiting."
sys.exit(os.EX_USAGE)
# Create listen socket
self.server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
self.server.setblocking(0)
# bind to port
try:
self.server.bind((bindaddr, port))
except socket.error, exp:
print "[-] Unable to bind to %s:%d: %s" % (bindaddr, port, exp)
print "[-] Exiting."
sys.exit(os.EX_USAGE)
print "[+] Listening on %s:%d" % (bindaddr, port)
self.server.listen(backlog)
signal.signal(signal.SIGINT, self.siginthandler)
评论列表
文章目录