MCPcopy Index your code
hub / github.com/secdev/scapy / run

Method run

scapy/fwdmachine.py:150–178  ·  view source on GitHub ↗

Function to start the relay server

(self)

Source from the content-addressed store, hash-verified

148 super(ForwardMachine, self).__init__(**kwargs)
149
150 def run(self):
151 """
152 Function to start the relay server
153 """
154 self.ssock = socket.socket(self.af, self.proto, 0)
155 self.ssock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
156 if self.mode == ForwardMachine.MODE.TPROXY:
157 self.ssock.setsockopt(socket.SOL_IP, socket.IP_TRANSPARENT, 1) # TPROXY !
158 self.ssock.bind((self.bind_address, self.port))
159 self.ssock.listen(5)
160 print(self.ct.green("Relay server waiting on port %s" % self.port))
161 while True:
162 conn, addr = self.ssock.accept()
163 # Calc dest
164 dest = conn.getsockname()
165 if self.mode == ForwardMachine.MODE.SERVER or (
166 dest[0] in self.local_ips and self.remote_address
167 ):
168 dest = (self.remote_address,) + dest[1:]
169 print(self.ct.green("%s -> %s connected !" % (repr(addr), repr(dest))))
170 try:
171 threading.Thread(
172 target=self.handler,
173 args=(conn, addr, dest),
174 ).start()
175 except Exception:
176 print(self.ct.red("%s errored !" % repr(addr)))
177 conn.close()
178 pass
179
180 def xfrmcs(self, pkt, ctx):
181 """

Callers

nothing calls this directly

Calls 3

bindMethod · 0.45
startMethod · 0.45
closeMethod · 0.45

Tested by

no test coverage detected