-
模拟1%的丢包
iptables -A INPUT -m statistic --mode random --probability 0.01 -j DROP
-
阻断点播码流(一般是基于rtsp):
rtsp的码流阻断怎么拼出防火墙的规则指令呢?大致的方法如下:
可以通过tcpdump -i eth0抓到的流还是udp的,类似下面这种就表示udp的码流:
18:10:17.018518 IP 172.16.186.155.56586 > 172.18.78.19.8352: UDP, length 1348
18:10:17.022735 IP 172.16.186.155.56586 > 172.18.78.19.8352: UDP, length 1348
.....
讲解:
18:10:17.018518 IP 172.16.186.155.56586 > 172.18.78.19.8352: UDP, length 1348
172.16.186.155.56586表示这个报文源ip为172.16.186.155(对应iptables参数-s 172.16.186.155),源端口为56586(对应iptables参数--sport 56586)
18:10:17.022735 IP 172.16.186.155.56586 > 172.18.78.19.8352: UDP, length 1348
172.18.78.19.8352表示这个报文目的ip为172.18.78.19(对应iptables参数-d 172.18.78.19),目的端口为8352(对应iptables参数--dport 8352)
18:10:17.026367 IP 172.16.186.155.56586 > 172.18.78.19.8352: UDP, length 1348
UDP表示网络包是属于UDP的传输协议,表示tcp,对应iptables参数-p udp
基于上面的网络报文:
可以通过指定udp 源ip和端口号过滤并停止特定的网络数据:iptables -A INPUT -p udp -s 172.16.186.155 --sport 56586 -j DROP
也可以通过指定udp目的ip和端口号过滤并停止特定的网络数据:iptables -A INPUT -p udp -d 172.18.78.19 --dport 8352 -j DROP
如果有tcp的数据流就用类似iptables -A INPUT -p tcp -s 172.16.186.155 --sport 56586 -j DROP来过滤,只要ip和端口设置好了就可以