summaryrefslogtreecommitdiff
path: root/crafted-pkt/replay-chunks.py
diff options
context:
space:
mode:
Diffstat (limited to 'crafted-pkt/replay-chunks.py')
-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):