diff options
author | Peter Wu <peter@lekensteyn.nl> | 2014-07-04 14:18:02 +0200 |
---|---|---|
committer | Peter Wu <peter@lekensteyn.nl> | 2014-07-04 14:18:02 +0200 |
commit | adef46157ace41575bc9f619f852039d552930f2 (patch) | |
tree | 958fb6106acc2d8d1b17f0b2b831bb4ccf78b54f | |
parent | 430e8f73cfaa863cc7b49044a555fb8667f1fbb9 (diff) | |
download | wireshark-notes-adef46157ace41575bc9f619f852039d552930f2.tar.gz |
replay-chunks: fallback to localhost on failure
-rwxr-xr-x | crafted-pkt/replay-chunks.py | 11 |
1 files changed, 9 insertions, 2 deletions
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): |