Articles of udp

Traceroute,ICMP,UDP和TCP

traceroute何时使用TCP? 或者它只是使用UDP,为什么Traceroute在MacX上使用UDP和Windows上的ICMP? 我以为ICMP只是包含一个消息,说明是什么导致了一个数据包的错误,并不传输像TCP和UDP这样的数据段。

在Docker中运行nuttcp时出现分段错误

我正在测量由Docker的本地覆盖networking连接的两个Docker容器之间的UDP吞吐量。 我已经使用iperf但也想用nuttcp来测量吞吐量。 但是,当我启动服务器实例,然后启动客户端实例时,服务器实例崩溃,并出现以下错误消息: Segmentation fault (core dumped) 。 这是我如何启动服务器: nuttcp -S -u –nofork 这就是我开始的客户: nuttcp -u -T 115 10.0.0.3 服务器实例在启动客户端后直接崩溃。 我用同样的命令在Docker之外运行nuttcp没有任何问题。 这里是关于我使用的版本的一些额外的信息: # inside the container: $ uname -a Linux 310d92462ac0 3.19.0-58-generic #64~14.04.1-Ubuntu SMP Fri Mar 18 19:05:43 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux $ nuttcp -V nuttcp-6.1.2 # outside the container: $ uname -a […]

UDP通过路由器自动穿越路由器端口转发?

大家都知道路由器像防火墙一样工作。 如果没有端口转发,则不能从路由器外部发起连接(不pipe是TCP还是UDP)。 但是,如果用户从路由器的内部成功发起TCP连接,路由器的两端就可以相互通信。 UDP会发生什么? 如果路由器后面的用户(他根本没有做任何有关端口转发的function)将UDP发送到外部pc(假设没有任何防火墙或任何停止接收数据报的任何东西),并且pc接收到它。 如果PC想要将一些数据发回给路由器后面的用户呢? 数据可以被用户接收吗? 还是可以通过路由器的数据没有任何特殊的操作? 我问这个,因为大家都知道UDP是无连接的。 不过,我相信一些在线射击游戏使用UDP。 如果我join服务器玩,我不需要做任何关于端口转发的事情,但是我和服务器之间的udp数据传输仍然可以工作。 什么都可以解释一些给我? 非常感谢。 插口

如何使用iptables创buildUDP代理

我有一台服务器在端口50000上运行UDP服务器。此服务器接收来自客户端的更新,并将客户端每5秒钟ping回它们连接的套接字。 现在我想通过另一台服务器redirect到和来自这个UDP服务器的所有stream量。 基本上我想在这个服务器前面设置一个透明代理。 原因是我想能够轻松地控制哪个服务器处理UDP通信,而不需要更改DNS设置。 起初我试着用socat来创build这个代理: socat UDP-LISTEN:50000,fork UDP:myserver:50000 但是,这似乎适用于传入stream量,但是从我的服务器返回到客户端的stream量不能到达目的地。 此外,似乎socat为每个连接分配了另一个进程,所以当客户端断开/切换IP时,最终可能会有太多的进程和死进程。 我意识到,我可以使用iptables的NATfunction,但它似乎并没有为我工作。 我试过的configuration是: sudo iptables -t nat -A PREROUTING -p udp –dport 50000 -j DNAT –to-destination myserver:50000 但它似乎并没有工作 – 我甚至没有看到我的服务器上的连接。 我不确定是由于configuration错误还是由于其他问题。 一些问题: 我需要以某种方式重新启动iptables,一旦我添加natconfiguration? 我是否需要允许stream量到达端口或NAT设置是否足够? 更新:实际处理stream量的服务器是在一个不同的机器上,而我试图设置iptables。

脚本find正在发送的udp数据包的地址?

这是情况。 我有一个IP地址1.2.3.4端口2000发送udp数据包到一个未知的IP。 我想find未知的IP,所以我可以用iptables来阻止它。 有没有办法用脚本来做到这一点? 现在我正在手动使用 tshark -i eth1 -f "net 1.2.3.4 and src port 2000" 我不知道如何pipe这个脚本,并自动find目的IP地址。

UDP会话和临时端口select

我想请社区帮助我find以下问题的答案: 根据RFC 6056 ,操作系统应该为每个传输层连接伪随机select临时端口。 对于有状态协议的TCP,情况很明显:临时端口被分配给5个元组{协议,source_ip,source_port,destination_ip,destination_port},直到连接被丢弃。 但是,UDP是无状态协议,没有UDP连接。 因此,对于我来说,在UDP的情况下如何分配一个短暂的端口是不清楚的。 每个请求都不一样吗? 它被随机分配到5元组并保存,直到超时期间没有收到数据包? 各种操作系统,如Windows,Unix,Linux的实现有何不同?

UDP数据包循环负载均衡

我需要在许多“真实服务器”之间对UDPstream量进行负载平衡,并以真正的循环方式进行。 我已经开始keepalived,但意外地发现,LVS把UDPstream量视为“连接”(无论是在UDP ..)。 实际上,这意味着所有来自特定客户端的stream量都会一直到达同一个“真实服务器”(这是一个大问题,因为有些客户端可能会产生如此大的stream量,单个后端将不堪重负) 。 显然,这是预期的行为, 但是最近的LVS版本有一个“–ops”标志,这使得LVS绕过了上述的行为,使得每个UDP数据报都被独立处理(这就是我想要的!)。 但是(总是有一个但是..)这个function没有暴露在keepalived.conf。 有没有解决scheme,这将让我 在UDP后端之间进行循环分配 检测“死”的后端,并将它们从循环中删除(当它们变成“活着”时将它们加回来也是有用的) 应该是基于Linux的,显然。 任何forms的DNS循环都不会在这里真正起作用,因为客户端不能识别DNS。 PS我会尝试脉冲/食人鱼,但从阅读我收集的文件,它并不暴露“ – ”标志以及。 我也打算试一试(通过直接调用ipvsadm来使后端检测和添加/删除realserver)。

可能的UDP攻击BIND?

大家好, 上个月,当我的EC2实例(ubuntu精确的服务器)仍然处于免费级别的情况下,我感到非常惊讶。今天,在检查我当前的账单时,我注意到我已经有很多stream量,而仍然在本月中旬,而且我担心这个月底我的账单将会是什么。 我安装了带宽,几分钟后,我注意到很多UDPstream量“108.162.233.15”。 这显然是一个cloudflare知识产权,我没有任何使用cloudflare(据我所知)。 所以我跑了“iftop”,看看有什么端口正在使用,我看到从端口80到我的端口53的UDPstream量…为什么会一个Web服务器查询DNS? 所以我停止绑定在我的服务器上,并运行在前台debugging模式,并看到下面的查询,不断重复: 17-Nov-2012 12:30:58.216 client 108.162.233.15#80: UDP request 17-Nov-2012 12:30:58.216 client 108.162.233.15#80: request is not signed 17-Nov-2012 12:30:58.216 client 108.162.233.15#80: recursion available 17-Nov-2012 12:30:58.216 client 108.162.233.15#80: query 17-Nov-2012 12:30:58.216 client 108.162.233.15#80: query (cache) 'isc.org/ANY/IN' approved 17-Nov-2012 12:30:58.216 client 108.162.233.15#80: send 17-Nov-2012 12:30:58.216 client 108.162.233.15#80: sendto 17-Nov-2012 12:30:58.216 client 108.162.233.15#80: senddone 17-Nov-2012 […]

阻止所有传入的DNS请求,除了IP x,y,

我想阻止我的两台DNS服务器上的所有传入请求APART从某些IP地址,例如1.2.3.4的IP将被允许发出请求,但NOBODY否则会。 你如何使用iptables做到这一点? 非常感谢。

OpenVPN的UDP容易受到打扰吗?

OpenVPN的UDP容易受到打扰吗? 我需要决定是否要重build一些服务器,但他们是非常小心的防火墙; 1194 / TCP是防火墙端口之一(耶白名单!)。 使用1194 / UDP(任务关键)。