From adef46157ace41575bc9f619f852039d552930f2 Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Fri, 4 Jul 2014 14:18:02 +0200 Subject: replay-chunks: fallback to localhost on failure --- crafted-pkt/replay-chunks.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'crafted-pkt') diff --git a/crafted-pkt/replay-chunks.py b/crafted-pkt/replay-chunks.py index 3b77612..99907da 100755 --- a/crafted-pkt/replay-chunks.py +++ b/crafted-pkt/replay-chunks.py @@ -85,12 +85,19 @@ class FollowParser(object): try: svr.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) svr.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) - svr.bind(self.addr) + try: + svr.bind(self.addr) + except socket.error as e: + host, port = self.addr + print('bind({0}:{1}) failure: {2}'.format(host, port, e)) + self.addr = ('127.9.0.1', port) + print('Falling back to {}:{}'.format(*self.addr)) + svr.bind(self.addr) svr.listen(1) self.sock_client = socket.socket() self.sock_client.connect(self.addr) self.sock_server, remote_addr = svr.accept() - except: + finally: svr.close() def feed_data(self, line): -- cgit v1.2.1