tcp_client.py 文件源码

python
阅读 30 收藏 0 点赞 0 评论 0

项目:packetweaver 作者: ANSSI-FR 项目源码 文件源码
def main(self):
        if self._is_sink() or self._is_source():
            raise Exception('This ability must be connected through pipes to other abilities!')

        if self.protocol == 'IPv4':
            s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        else:
            s = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)

        s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)

        s.bind(('' if isinstance(self.ip_src, type(None)) else self.ip_src, self.port_src))
        s.settimeout(self.timeout)
        s.connect((self.ip_dst, self.port_dst))

        stop_evt = threading.Event()

        out_thr = threading.Thread(target=self._forward_outgoing, args=(s, stop_evt, self._poll, self._recv))
        out_thr.start()

        in_thr = threading.Thread(target=self._forward_incoming, args=(s, stop_evt, self._send, self.stop))
        in_thr.start()

        self._wait()

        stop_evt.set()

        out_thr.join()
        in_thr.join()
        s.close()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号