summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2014-07-04 14:18:02 +0200
committerPeter Wu <peter@lekensteyn.nl>2014-07-04 14:18:02 +0200
commitadef46157ace41575bc9f619f852039d552930f2 (patch)
tree958fb6106acc2d8d1b17f0b2b831bb4ccf78b54f
parent430e8f73cfaa863cc7b49044a555fb8667f1fbb9 (diff)
downloadwireshark-notes-adef46157ace41575bc9f619f852039d552930f2.tar.gz
replay-chunks: fallback to localhost on failure
-rwxr-xr-xcrafted-pkt/replay-chunks.py11
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):