gpt4 book ai didi

Python端口转发/多路复用服务器

转载 作者:太空狗 更新时间:2023-10-29 21:04:24 35 4
gpt4 key购买 nike

我想让服务器监听 UDP 端口 162(SNMP 陷阱),然后将此流量转发给多个客户端。同样重要的是源端口和地址保持不变(地址欺骗)。

我想最好的工具是 TwistedScapy或者 Vanilla socket ,只有我在 Twisted 的文档中找不到任何关于源地址欺骗/伪造的信息。

有什么解决办法吗?

编辑:增加赏金,我想有 iptables 的解决方案吗?

最佳答案

我对 twisted 或 scapy 不太满意,但使用 vanilla python 套接字很简单。这样做的另一个好处是它会更加便携。此代码在我的有限测试中有效:

#!/usr/bin/python
from socket import *
bufsize = 1024 # Modify to suit your needs
targetHost = "somehost.yourdomain.com"
listenPort = 1123

def forward(data, port):
print "Forwarding: '%s' from port %s" % (data, port)
sock = socket(AF_INET, SOCK_DGRAM)
sock.bind(("localhost", port)) # Bind to the port data came in on
sock.sendto(data, (targetHost, listenPort))

def listen(host, port):
listenSocket = socket(AF_INET, SOCK_DGRAM)
listenSocket.bind((host, port))
while True:
data, addr = listenSocket.recvfrom(bufsize)
forward(data, addr[1]) # data and port

listen("localhost", listenPort)

关于Python端口转发/多路复用服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1874331/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com