Python端口转发/复用服务器

2023-11-23

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

我想最好的工具是Twisted or Scapy或者也许是香草插座, 只是我在 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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python端口转发/复用服务器 的相关文章

  • Python:在列表理解本身中引用列表理解?

    这个想法刚刚出现在我的脑海中 假设您出于某种原因想要通过 Python 中的列表理解来获取列表的唯一元素 i if i in created comprehension else 0 for i in 1 2 1 2 3 1 2 0 0 3
  • 无法“安装”plpython3u - postgresql

    我正在尝试在 postgresql 中使用 python 语言 像这样的事情 create or replace function test a integer returns integer as if a 2 0 return even
  • Django 管理员在模型编辑时间歇性返回 404

    我们使用 Django Admin 来维护导出到我们的一些站点的一些数据 有时 当单击标准更改列表视图来获取模型编辑表单而不是路由到正确的页面时 我们会得到 Django 404 页面 模板 它是偶尔发生的 我们可以通过重新加载三次来重现它
  • 将 Matplotlib 误差线放置在不位于条形中心的位置

    我正在 Matplotlib 中生成带有错误栏的堆积条形图 不幸的是 某些层相对较小且数据多样 因此多个层的错误条可能重叠 从而使它们难以或无法读取 Example 有没有办法设置每个误差条的位置 即沿 x 轴移动它 以便重叠的线显示在彼此
  • Python(Selenium):如何通过登录重定向/组织登录登录网站

    我不是专业程序员 所以请原谅任何愚蠢的错误 我正在做一些研究 我正在尝试使用 Selenium 登录数据库来搜索大约 1000 个术语 我有两个问题 1 重定向到组织登录页面后如何使用 Selenium 登录 2 如何检索数据库 在我解决
  • 根据列值突出显示数据框中的行?

    假设我有这样的数据框 col1 col2 col3 col4 0 A A 1 pass 2 1 A A 2 pass 4 2 A A 1 fail 4 3 A A 1 fail 5 4 A A 1 pass 3 5 A A 2 fail 2
  • 如何从网页中嵌入的 Tableau 图表中抓取工具提示值

    我试图弄清楚是否有一种方法以及如何使用 python 从网页中的 Tableau 嵌入图形中抓取工具提示值 以下是当用户将鼠标悬停在条形上时带有工具提示的图表示例 我从要从中抓取的原始网页中获取了此网址 https covid19 colo
  • 使用 Tkinter 显示 numpy 数组中的图像

    我对 Python 缺乏经验 第一次使用 Tkinter 制作一个 UI 显示我的数字分类程序与 mnist 数据集的结果 当图像来自 numpy 数组而不是我的 PC 上的文件路径时 我有一个关于在 Tkinter 中显示图像的问题 我为
  • Python 函数可以从作用域之外赋予新属性吗?

    我不知道你可以这样做 def tom print tom s locals locals def dick z print z name z name z guest Harry print z guest z guest print di
  • 绘制方程

    我正在尝试创建一个函数 它将绘制我告诉它的任何公式 import numpy as np import matplotlib pyplot as plt def graph formula x range x np array x rang
  • 如何在Python中获取葡萄牙语字符?

    我正在研究葡萄牙语 角色看起来很奇怪 我怎样才能解决这个问题 代码 import feedparser import random Vou definir os feeds feeds conf feedurl http pplware s
  • 如何使用Python创建历史时间线

    So I ve seen a few answers on here that helped a bit but my dataset is larger than the ones that have been answered prev
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe
  • Fabric env.roledefs 未按预期运行

    On the 面料网站 http docs fabfile org en 1 10 usage execution html 给出这个例子 from fabric api import env env roledefs web hosts
  • 使用 Python 绘制 2D 核密度估计

    I would like to plot a 2D kernel density estimation I find the seaborn package very useful here However after searching
  • Python:如何将列表列表的元素转换为无向图?

    我有一个程序 可以检索 PubMed 出版物列表 并希望构建一个共同作者图 这意味着对于每篇文章 我想将每个作者 如果尚未存在 添加为顶点 并添加无向边 或增加每个合著者之间的权重 我设法编写了第一个程序 该程序检索每个出版物的作者列表 并
  • Scrapy:如何使用元在方法之间传递项目

    我是 scrapy 和 python 的新手 我试图将 parse quotes 中的项目 item author 传递给下一个解析方法 parse bio 我尝试了 request meta 和 response meta 方法 如 sc
  • 发送用户注册密码,django-allauth

    我在 django 应用程序上使用 django alluth 进行身份验证 注册 我需要创建一个自定义注册表单 其中只有一个字段 电子邮件 密码将在服务器上生成 这是我创建的表格 from django import forms from
  • Rocket UniData/UniVerse:ODBC 无法分配足够的内存

    每当我尝试使用pyodbc连接到 Rocket UniData UniVerse 数据时我不断遇到错误 pyodbc Error 00000 00000 Rocket U2 U2ODBC 0302810 Unable to allocate
  • 从列表指向字典变量

    假设你有一个清单 a 3 4 1 我想用这些信息来指向字典 b 3 4 1 现在 我需要的是一个常规 看到该值后 在 b 的位置内读写一个值 我不喜欢复制变量 我想直接改变变量b的内容 假设b是一个嵌套字典 你可以这样做 reduce di

随机推荐

  • 如何管理 Perl 模块依赖关系?

    我目前正在进行一个项目 该项目使用另一个部门开发的框架作为基础进行开发 我们目前正在我们的部门引入质量标准 终于 耶 但目前不可能将这些标准引入其他部门 因此 我们面临着一个不断变化的目标 既没有 API 稳定性 也没有稳定的版本 这至少是
  • 何时使用 Svelte 的 use:action 与 onMount 和 onDestroy?

    如果我们有类似的东西Tooltip当组件安装 更新和销毁时 需要实例化一个实例 更新该实例并销毁该实例 如下面的代码所示 似乎有两种模式可以实现这一点 Using use action Using onMount and onDestroy
  • 获取对象的键数组

    我想以数组形式获取 JavaScript 对象的键 无论是在 jQuery 还是纯 JavaScript 中 还有比这更简洁的方法吗 var foo alpha puffin beta beagle var keys for var key
  • 我想获取从中删除 0x 的二进制值的十六进制值

    我在 SQL Server 中有一个二进制值 其中包含 SHA1 代码 例如 0xC06DCADF544BC3D6ECE7C64F485D2846E7A93F55 我想删除0x从中 当我计算字符串的 SHA1 时 输出以0x我把它放在一个二
  • 动画排序条形图,条形相互超越

    编辑 关键字是 条形图竞赛 您将如何重现此图表海梅 阿尔贝拉 in R 观看动画视觉资本网站 or on twitter 提供多个参考以防万一出现故障 我将其标记为ggplot2 and gganimate但任何可以从 R 生成的东西都是相
  • 如何处理 axios httpservice 可观察的响应?

    我想我快疯了 因为我对节点和打字稿还很陌生 我只是想以同步的方式检索 http get 请求的结果 Given import Injectable HttpService from nestjs common import from nes
  • 如何使用变量中的凭证运行 AWS SDK 版本 2?

    我的问题与另一个问题相同 如何使用变量中的凭证运行AWS SDK 但我使用的是 SDK 版本 2 它不再使用 Session 如果我理解正确的话 因此 我正在创建一个新客户端 并且我将凭据作为变量 我需要使用 IAM 服务 这是函数 fun
  • 从运行时类型创建 List<>

    我正在创建一个列表 其中 T 的类型是我通过反射知道的几个不相关的类 具有相同的构造函数参数 DataBase new ArrayList foreach Type T in Types DataBase Add new List
  • 如何在 spring-security 中取消 /** URL 模式的安全

    我正在尝试取消 模式的安全 但到目前为止我所有的尝试都是徒劳的 这就是我正在做的
  • 从 Action 获取参数

    如何将参数传递到Action
  • Sql 合并整行?

    我刚刚了解了 COALESCE 我想知道是否可以合并两个表之间的整行数据 如果不是 那么解决以下问题的最佳方法是什么 例如 我有这两个表并假设所有列都匹配 tbl 员工 Id Name Email Etc 1 Sue 2 Rick tbl
  • Git“efrror:RPC 失败;结果 = 55,HTTP 代码 = 0”推送

    我在这个问题上花了一整天 确实需要一些帮助 当我尝试推送相对较大的提交时 Writing objects 100 21 21 908 07 KiB 0 bytes s done Total 21 delta 17 reused 0 delt
  • 在打字稿中定义常量(离子应用程序)

    在我的 Ionic 应用程序中 我将常量定义为 constants ts export var CONSTANTS API ENDPOINT http localhost 3000 并将其导入为 import CONSTANTS from
  • AWS Cloudfront 分发多语言 Angular 应用程序

    我有一个 Angular 应用程序 它存储在 AWS S3 存储桶中并由 Cloudfront 分发 现在我想以多种语言分发我的应用程序 我已经翻译了我的角度应用程序以及我构建的每种语言 所以我的 S3 存储桶如下所示 de index h
  • URL 中的“&”编码问题

    我必须向我的 iPhone 应用程序中的 Web 服务发送 https GET 请求 该应用程序是在 Swift 1 2 中开发的 我正在尝试构造查询字符串参数 但在发送到服务器之前必须对其进行编码 一切正常 但当密码包含 字符时不起作用
  • jQuery 和 Google URL 缩短 API

    我正在尝试使用以下方法缩短网址http goo gl具有以下 jQuery 函数的 API ajax url https www googleapis com urlshortener v1 url key MY API KEY cross
  • Highcharts 实心标距宽度

    我还没有找到解决改变实体仪表数据图宽度的 API 或之前的问题 我可以轻松更改图表宽度 绘图宽度 绘图填充 弧形背景的内部和外部宽度 但不能更改图表 如何防止图表 绿色 与背景 白色 重叠 刚刚创建帐户 所以还不能插入图片 https ww
  • 如何覆盖 ApplicationTagLib#createLink 和 g:link 的标准行为?

    背景 我有 grails 1 3 7 应用程序 它使用g createLink and g link在许多页面上 最近 我决定对 url 映射进行重大更改 引入前面的路径元素 目前我有 controller action id 但想要拥有
  • 为什么我不应该使用 getter 来释放 Objective-C 中的属性?

    有人告诉我StackOverflow 用户释放属性时我不应该使用 getter 方法 property nonatmic retain Type variable synthesize variable wrong self variabl
  • Python端口转发/复用服务器

    我想让服务器侦听 UDP 端口 162 SNMP 陷阱 然后将此流量转发到多个客户端 同样重要的是源端口和地址保持不变 地址欺骗 我想最好的工具是Twisted or Scapy或者也许是香草插座 只是我在 Twisted 的文档中找不到任