Articles of udp

redirect匹配模式的数据包?

我怎么能路由传入的udp数据包与iptables匹配的模式,如: 53 41 4D 50 5B 79 95 DB 61 1E 69 从公共接口( vmbr0 )和端口7777到192.168.0.1:7777 ?

组播只能在混杂模式下工作

我试图在Arch Linux上通过UDP多播传输接收MPEG-TS。 所以当我运行ffprobe -i udp://@224.1.1.240:6000它永远挂起而没有结果。 然后我运行tcpdump ,它没有显示来自地址的组播stream量。 但是如果在ffprobe运行tcpdump -i eth0 -n net 224.0.0.0/4 ,它就可以工作! tcpdump显示数据包并且ffprobe正确地检测到数据stream。 可能会注意到,当NIC处于混杂模式时,问题可能会消失。 有人可以帮忙吗? 我的configuration有什么问题? iptables所有东西都被接受。 cat /proc/sys/net/ipv4/conf/*/rp_filter 0 0 0 0 0 0 0 ip r default dev ppp0 scope link 83.221.214.192 dev ppp0 proto kernel scope link src 10.7.248.143 192.168.168.192/28 dev enp3s0 proto kernel scope link src 192.168.168.193 224.0.0.0/4 dev […]

防火墙UDP Flood Dos / DDoS

最近我一直忍受着似乎是一个UDP查询洪水攻击。 我正在寻找一种方法来阻止使用软件防火墙(如iptables)的攻击,这应该是可能的,如下所述。 攻击的目标是在7777端口上运行的GTA圣安地列斯多人(SA-MP)服务器。通过向服务器提供查询(用于确定服务器的在线等级),攻击者能够导致服务器的真正用户拒绝服务。 我在OVH专用服务器上托pipe此服务器,其中包含“Anti-DDoS游戏”保护。 他们没有检测到这个特殊的攻击。 鉴于这是针对SA-MP服务器软件缺陷的低带宽攻击,我相信应该可以使用iptables等软件防火墙来阻止攻击。 我的服务器在Ubuntu 14.04 x64上运行。 攻击对networking或主机上其他服务的可用性没有影响,只影响SA-MP服务器的可用性。 SA-MP服务器的CPU使用率不受攻击影响。 请注意,以下pcap文件中的目标地址已更改为50.0.0.0。 假定SA-MP服务器在50.0.0.0:7777上运行。 这些文件只显示目的地为50.0.0.0:7777的stream量。 以下pcap文件是在攻击期间创build的: https : //www.dropbox.com/s/5729k6vonqop7vh/attack.pcap 相应的匿名iptables日志: Sep 6 19:20:35 sonic kernel: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff SRC=177.236.34.109 DST=50.0.0.0 LEN=39 TOS=0x00 PREC=0x00 TTL=108 ID=37535 PROTO=UDP SPT=10365 DPT=7777 LEN=19 Sep 6 19:20:35 sonic kernel: IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff SRC=177.228.244.109 DST=50.0.0.0 LEN=39 TOS=0x00 PREC=0x00 TTL=108 ID=56141 PROTO=UDP SPT=26757 […]

iptables接受特定的数据包ID

我想只允许具有特定id(标识字段)的数据包,例如,具有id = 3的数据包被接受,而其他数据被丢弃。 我想用偏移量做同样的事情,例如这个数据包被接受: 09:59:29.216755 IP (tos 0x0, ttl 64, id 3, offset 0, flags [DF], proto UDP (17), length 35) XXX.XXX.XXX.XXX.XXXXX > XXX.XXX.XXX.XXX.XXXXX: UDP, length 7 在此先感谢,抱歉我的英文不好。

TCP和UDP端口通常阻塞

哪些TCP和UDP端口最有可能被阻止? 我特指networking的客户端。 要开始我猜SMTP(25),SIP(5060)的TCP,Traceroute(33434)的UDP。

通过隧道另一端的服务器joinUDP组播

我画了一张图来帮助解决这个问题! 因此,一家公司发布了一个组播UDP源(公司A),另一家公司连接了它(公司B)。 我有一个到B公司的点对点隧道 我怎样才能让我们的机器join多播组公司A通过公司B的机器发布? 我们可以从公司B的机器上很好地ping通 ping 192.168.255.1 但是,鉴于下面的Python脚本,我们没有得到任何数据。 我的猜测是因为我们不是从192.168.255.2(我们的机器)路由数据包到192.168.255.1(B公司的机器) 任何想法如何以最好的方式做到这一点? 如果是这样,我们怎么能实现呢? 非常感谢! 图: 这里是我使用的套接字代码(Python): import socket import struct MCAST_GRP = '233.xxx.xxx.xxx' MCAST_PORT = 18000 host = '192.168.255.2' sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP) sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) sock.bind((MCAST_GRP, MCAST_PORT)) sock.setsockopt(socket.SOL_IP, socket.IP_ADD_MEMBERSHIP, socket.inet_aton(MCAST_GRP) + socket.inet_aton(host)) while True: print sock.recv(1024) 这是configuration: tunnel Link encap:UNSPEC HWaddr xx-xx-xx-xx-xx-xx-xx-xx-00-00-00-00-00-00-00-00 inet addr:192.168.255.2 PtP:192.168.255.2 […]

有没有办法告诉一台机器可以通过gre隧道通过pimd或smcroutejoin组播组?

这已经困扰了我一段时间,并会喜欢这方面的帮助。 所以我通过中介公司订阅了一个数据供应商。 中间公司与数据供应商有实际联系,并且给了我一个他们所说的“通过我们的交换机”的隧道,给数据供应商。 根据我通过隧道接收到的多播数据包,看起来中介公司正在运行PIMv2,因为我们得到了“Hello”数据包。 但是看起来他们的机器并不像我们这样从数据供应商那里传输数据包,因为他们没有订阅供应商的多播组。 有没有办法告诉我们隧道中介机,订阅数据供应商和路由数据包我们的方式? 我已经看着pimd和smcroute,但是看起来好像没有答案。 我正在使用Ubuntu 14.04服务器? 组播组的IP为233.xxx.xxx.1,源IP为:23.xxx.xxx.150)。 这是我们的隧道configuration: tunnel Link encap:UNSPEC HWaddr XX-XX-XX-XX-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:192.168.255.2 PtP:192.168.255.2 Mask:255.255.255.252 inet6 addr: xxxx::xxx:xxxx:xxxx:xxxx/64 Scope:Link UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1476 Metric:1 RX packets:8887 errors:0 dropped:0 overruns:0 frame:0 TX packets:1425 errors:8 dropped:0 overruns:0 carrier:8 collisions:0 txqueuelen:0 RX bytes:445245 (445.2 KB) TX bytes:63884 (63.8 KB) 如果有助于理解问题,我在下面包含了一个图表。 在这一点上,我迷失在如何做到这一点!

在Linux下接收广播UDP包

我有类似的问题Linux内核不通过多播UDP数据包只广播而不是多播,没有我已经尝试了帮助。 我在192.168.0.1上有一个设备,它将直接连接到eth1(192.168.0.2)的广播UDP数据包喷出。 eth0是我真正的networking。 ifconfig告诉我广播地址,正如所料,是192.168.255.255 $ sudo ifconfig eth0 Link encap:Ethernet HWaddr 54:04:a6:64:b5:a6 inet addr:172.16.128.1 Bcast:172.16.255.255 Mask:255.255.0.0 inet6 addr: fe80::5604:a6ff:fe64:b5a6/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1526809 errors:0 dropped:0 overruns:0 frame:0 TX packets:986480 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:807179430 (807.1 MB) TX bytes:747692150 (747.6 MB) eth1 Link encap:Ethernet HWaddr 00:50:b6:15:6e:9a inet addr:192.168.0.2 […]

是否有uPnP启用networking的非侵入性testing?

我试图找出是否有办法在不同networking上进行非侵入式testing,以查看路由器是否启用了Universal Plug'n'Play(nPnP)。 即互联网网关设备configuration文件是否在路由器上实施? 我正在考虑一个网页testing,但没有任何下载的可执行文件…(我不想让系统pipe理员和IT人员的心中有任何的恐惧!) networking内的用户将在浏览器中打开链接,然后页面上的JavaScript通过发现消息来检查UDP。 我见过这个可能性的唯一参考是 当具有UPnPfunction的设备joinnetworking并希望知道networking上可用的UPnP服务时,它通过UDP协议向端口1900上的多播地址239.255.255.250发送发现消息。 该消息包含一个头,类似于HTTP请求。 这个协议有时被称为HTTPU(UDP over HTTP): M-SEARCH * HTTP/1.1 HOST: 239.255.255.250:1900 MAN: ssdp:discover MX: 10 ST: ssdp:all 所有其他UPnP设备或程序都需要通过使用UDP单播向设备发送类似的消息来回复此消息,通知设备或程序实现了哪些UPnPconfiguration文件。 一个有趣的怪癖:它用UDP单播发送到设备发现消息从其发送的端口。 对于每个configuration文件,它实现一个消息发送: HTTP/1.1 200 OK CACHE-CONTROL:max-age=1800 EXT: LOCATION:http://10.0.0.138:80/IGD.xml SERVER:SpeedTouch 510 4.0.0.9.0 UPnP/1.0 (DG233B00011961) ST:urn:schemas-upnp-org:service:WANPPPConnection:1 USN:uuid:UPnP-SpeedTouch510::urn:schemas-upnp-org:service:WANPPPConnection:1 我知道如何通过JavaScript在浏览器中创build套接字和更常见的通信forms(http),不知道如何通过UDP进行通信。 任何人有任何想法? 有没有人知道现在有一个uPnPconfigurationtesting工具? 我在StackOverflow上发现了一些响应,但是他们非常悲观。 例如这里

无法绑定UDP套接字,但端口是免费的

我一直在努力一段时间,所以也许这里有人能够帮助我。 我正在build立一个将在27059端口上运行的CS:GO服务器 。 (这是从工作服务器复制和粘贴,所以我不发布使用的configuration文件) 当我尝试启动它,我得到这个错误: WARNING: UDP_OpenSocket: unable to bind socket 这基本上意味着该端口已被使用,所以我做了以下几点: Stop the server netstat -punta | grep \.27059 # I get nothing Start the server netstat -punta | grep \.27059 并得到: tcp 0 0 192.0.2.178:27059 0.0.0.0:* LISTEN 21932/./srcds_linux udp 0 0 192.0.2.178:27059 0.0.0.0:* 21932/./srcds_linux 所以它看起来像服务器实际上是能够使用该端口,但不知何故,我一直得到相同的错误。