Articles of udp

使用IPTables将广播转发到固定IP

我需要将来自多个无线客户端的广播数据包转发(路由)到固定networking中的单个服务器。 由于安全原因,无线networking和固定networking未被桥接。 通过以下几行,数据包显示在INPUT链日志中 iptables -I INPUT -i $IF_WIFI -p udp –dport 6000 -j LOG –log-prefix "I " iptables -I FORWARD -i $IF_WIFI -p udp –dport 6000 -j LOG –log-prefix "F " 现在我添加下面的规则 iptables -t nat -A PREROUTING -p udp -d 255.255.255.255 –dport 6000 -j DNAT –to 10.0.0.10:6000 现在,数据包不会显示在INPUT或FORWARD日志中,也不会被路由到固定networking。 我期望在FORWARD日志中看到数据包 PREROUTING规则根据 iptables -t nat -v –list […]

在Windows 2008上按照速率/string匹配阻止UDPstream量

我正在pipe理Windows 2008服务器(64位)。 它正在遭受一系列DOS攻击,其中UDP数据包被发送到特定的端口并包含特定的string。 我需要做的是限制UDPstream量到每个IP的基础上的端口,特别是如果我可以通过string筛选,那么它会完成我想要的一切。 例如,如果来自该IP的速率大于每秒5次,则阻止来自任何包含string“status”的单个IP的UDPstream量,并且允许所有其他IPstream量。 这可以在Linux上用iptables来完成,那么有没有办法在Windows上完成,或者至less得到一些东西?

创build一个简单的UDP监听器

情况是这样的:我想为一个游戏打孔服务器,我需要听UDP传输。 它将在Debian Squeeze VPS上运行,所以我尽可能地使用灵活性。 一切都是非常基本的:信息共享通过http完成,后端使用PHP和MySQL。 所以理想情况下(或者更简单一致的方式),UDP监听器只需运行一个PHP脚本,并从数据包中提取几个参数,而不会返回任何内容到客户端。 什么是最好的方法来解决这个问题? 除了洪水明显的可能性之外,我还应该注意到有关UDP的任何危险吗?

傀儡DNS查询的最低udp源端口是什么?

在CentOS 6.4和6.3上,我看到puppet经常使用低于32768的端口。这与内核分配端口的设置是相反的: cat /proc/sys/net/ipv4/ip_local_port_range 32768 61000 我的无状态防火墙阻止示例木偶进程: ruby 24488 root 3u IPv4 1844198 0t0 UDP 172.16.10.156:13346->172.16.10.2:domain 我想解决这个问题,以便能够在无状态防火墙中select一个不需要“世界可写”的范围。 编辑:木偶版本3.1.1和Ruby 1.8.7

我如何确定我的VPN是否通过UDPstream量?

我有一个客户端应用程序无法通过VPN连接与服务器对端连接。 服务器是Windows SBS 2011,客户端是Windows 7 64bit Enterprise。 使用Windows VPN客户端。 我可以ping服务器并浏览它的驱动器,但是当客户端应用程序尝试连接它时,由于一系列通用原因(例如“也许服务器不在线”和“也许你指定了一个无效的IP地址”)立即失败。 在与应用程序支持人员交谈之后,他们让我在服务器和工作站上运行一对testing客户机/服务器应用程序,以validation正在传输UDP通信。 testing失败。 所以现在我需要弄清楚UDP通信是否通过,如果不是,我需要做什么来解决这个问题。

包含克隆数据包的UDP代理

从dynamic公共IP发送UDP消息定期到公共IP X:20000。 需要一个侦听IP X:20000的代理,然后将重复/克隆数据包转发到位于IP Y:20000的X:20001和不同的计算机。 现在,当应用程序在X:20001上进行侦听时,将对X:20001的消息作出响应,我希望将该消息从X:20000转发回PC A. 我怎样才能在Linux中实现这个function? (试图避免自定义脚本) 试图让一个应用程序在一个无头的服务器响应消息,一台计算机与监视器来实时debugging消息。

Linux限制我的应用程序的UDP传输,我怎么能看到它?

我目前正在开发两个应用程序来处理自定义videostream“协议”。 基本上: 服务器从networking摄像头捕捉video帧,将它们分成几部分,然后通过UDP将这些部分发送给客户端。 客户端接收所有的框架部分,并处理所有的“重新sorting”:按照正确的顺序放置这些部分,在旧的框架上存储新的框架,等等……这就是实现“协议”的地方:客户端需要了解他们收到的video数据,这样他们才能正确地重新sorting,并显示一个合适的帧 。 这个机制本身工作得很好(经过相当多的斗争,我会承认)。 但是,现在我的应用程序正在运行,我发现我的客户正在努力接收一些帧部分。 客户端将成功检索第一部分,让我们说n帧,然后只是…挂在recvfrom 。 我不打扰所有的应用程序的细节,但这里有一些统计: 服务器每40,000微秒(25fps)捕获一帧(38,016字节)。 每个帧被分成24个部分(每个部分38,016 / 24 = 1584字节)。 假设我们只有一个客户端。 在networking方面,这意味着: 每40,000微秒,服务器向客户端发送24个缓冲区( sendto )。 每个缓冲区的长度是1584个字节。 另一方面,客户调用recvfrom 24次。 在一秒钟内,服务器可以捕获25帧。 这意味着在1秒内,它会发送25 * 24帧的部分给客户端。 这表示每秒25 * 24 * 1584 = 950,400字节)。 我们还假设客户端总是在服务器发送时进行监听。 现在,用这些费率,客户将能够保持1或2秒。 当应用程序不冻结时,客户端最终会挂起recvfrom ,就好像服务器已经停止了广播。 我添加了一些冗长的服务器,以确保它保持广播,它确实。 几秒钟后,似乎服务器的sendto调用不再达到客户端的recvfrom调用。 我检查了所有与networking有关的代码,因为它非常简单,所以没有太多错误:服务器build立一个缓冲区,调用sendto ,并开始准备下一个缓冲区…客户端只是等待缓冲区。 由于我在编程中找不到解释,所以我开始相信某些东西是卡在networking上的。 在某些地方,似乎有些东西阻止了我的UDP数据包在一段时间后到达客户端。 现在,由于UDP是完全无控制的,所以我找不到从我的程序中检查缓冲区传输的方法。 但是,有没有办法让我看看系统是否传输我的数据包,或者如果它最终达到其中一个极限,并开始丢弃它们? 如果是的话,这个限制机制是什么,有没有一种方法可以configuration我的系统,这样我的应用程序就可以按照我编程的速度工作了? 由于我的应用程序通过回送接口(127.0.0.1:n上的服务器)进行通信,因此我认为添加有关此接口的信息是一个好主意。 我正在运行一个GNU / Linux(内核3.13.0)系统。 $ ifconfig lo […]

本地端口范围和UDP发送端口之间的区别使用Debian域名parsing器parsing器

当我进入Debian 7的本地端口范围时,我可以看到我的临时端口范围是: cat /proc/sys/net/ipv4/ip_local_port_range 32768 61000 我的/etc/sysctl.conf是空的。 通常这意味着来自这个名称服务器parsing器的所有请求都应该使用该范围内的端口。 但是,使用tcpdump ,当我看到一个DNS请求和答案创build与dig ,我可以看到,请求可以使用发送端口低至1500。 例如,在以下tcpdump示例( tcpdump udp and port 53 and host server.domain )中,请求来自端口15591.它远低于我们之前看到的临时端口的服务器最低端口限制:32768。换句话说,使用dig ,DNS请求超出本地端口范围。 11:57:33.704090 IP baremetal.15591 > M.ROOT-SERVERS.NET.domain: 41939% [1au] A? r.arin.net. (39) 11:57:33.704400 IP baremetal.41573 > M.ROOT-SERVERS.NET.domain: 40945% [1au] A? t.arin.net. (39) 11:57:33.704541 IP baremetal.22658 > M.ROOT-SERVERS.NET.domain: 44090% [1au] AAAA? t.arin.net. (39) 11:57:33.705295 IP baremetal.13277 […]

TFTP请求没有被服务

这可能看起来像一个重复的问题,但我做了我的search份额,但找不到任何解决scheme。 我创build了一个tftp服务器,当从本地的tftp客户端访问这个服务器时,通过一个环回获取并放置文件就好了。 当我尝试通过外部客户端访问服务器时,请求超时。 连接build立。 我可以看到连接在tftp客户端连接,没有问题。 文件传输不启动。 客户端通过以太网电缆直接连接到主机,我创build了一个2设备局域网。 ping之间的工作。 我最初以为这是一个防火墙问题,现在我已经禁用了防火墙,允许在iptables中configuration的端口69上的INPUT和OUTPUT。 在端口69上也允许udp。 我也没有运行tftpd-hpa服务器的多个实例,它作为一个守护进程运行,而netstat -aup只有一个tftp服务器在运行。 客户正在给予适当的要求,我可以在wireshark看到他们,但没有响应。 而失败总是一个TIMEOUT。 **firewall disabled** **ports allow connection ** **file transfer fails** ** outgoing tftp request as a client to other tftp servers is alos blocked ** UPDATE2: 由于这台笔记本电脑是由我的雇主发布的,我对防火墙的事情并不确定,我怀疑他们不会允许防火墙被禁用。 读取/ var / log / syslog没有提供任何提示,所以试着看看内核打印有没有任何kmodules做任何事情,我看到这些。 [10989.915231] FIREWALL: IN=eth1 OUT= MAC=50:7b:9d:f9:44:5d:68:9e:19:99:9e:e4:08:00 SRC=10.42.0.89 DST=10.42.0.1 LEN=65 TOS=0x00 […]

限制每个IP iptables的UDP连接

我想限制每个IP为特定的UDP端口连接。 我得到它的TCP工作,但不知何故,它不能在UDP上工作。 这些是我的规则: 对于TCP(工作) iptables -A INPUT -p tcp –syn –dport 7787 -m connlimit –connlimit-above 3 -j REJECT –reject-with tcp-reset iptables -A INPUT -p tcp –syn –dport 7788 -m connlimit –connlimit-above 3 -j REJECT –reject-with tcp-reset 对于UDP iptables -A INPUT -p udp –dport 7787 -m connlimit –connlimit-above 3 -j REJECT iptables -A INPUT -p udp […]