Skip to content

Instantly share code, notes, and snippets.

@fuji246
Created July 7, 2022 20:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fuji246/53d9f51749b08b0da628d902bb5bb1c6 to your computer and use it in GitHub Desktop.
Save fuji246/53d9f51749b08b0da628d902bb5bb1c6 to your computer and use it in GitHub Desktop.
Block UDP traffic in macOS
#!/bin/bash
# kbit
LINK_BW="800"
RAND_LOSS="0.00"
# ms
DELAY=0
# ms
QDELAY=1000
TB_QSIZE=`expr $LINK_BW \* $QDELAY / 8000` # K
start()
{
#dnctl pipe 1 config bw 500Kbit/s
#dnctl pipe 1 config plr 0.12 bw 1000Kbit/s
echo "block out proto udp from any to any port 9000" > /tmp/rules
echo "block out proto udp from any to any port 8801" >> /tmp/rules
echo "block out proto udp from any to any port 5004" >> /tmp/rules
#echo "block out proto tcp from any to any port 5004" >> /tmp/rules
echo "block out proto udp from any to any port 33434" >> /tmp/rules
echo "block out proto udp from any to 192.168.1.240" >> /tmp/rules
echo "block out proto udp from any to 192.168.1.130" >> /tmp/rules
echo "block out proto udp from any to 10.22.132.171" >> /tmp/rules
echo "block out proto udp from 10.22.132.17 to any" >> /tmp/rules
#echo "block out proto tcp from any to any port 8801" >> /tmp/rules
#echo "block out proto tcp from any to 171.71.196.137" >> /tmp/rules
#echo "block out proto tcp from any to 216.58.195.69" >> /tmp/rules
#echo "block out proto tcp from any to 13.59.223.245" >> /tmp/rules
#echo "block out proto tcp from any to 69.174.108.151" >> /tmp/rules
#echo "block out proto tcp from any to 52.8.121.152" >> /tmp/rules
#dnctl pipe 1 config delay 300 plr 0.00
#echo "dummynet out from any to any pipe 1" >> /tmp/rules
#dnctl pipe 1 config delay $DELAY bw "$LINK_BW"Kbit/s plr $RAND_LOSS queue "$TB_QSIZE"KB
#echo "dummynet out from any to any pipe 1" >> /tmp/rules
#dnctl pipe 2 config delay $DELAY bw "$LINK_BW"Kbit/s plr $RAND_LOSS queue "$TB_QSIZE"KB
#echo "dummynet in from any to any pipe 2" >> /tmp/rules
#dnctl pipe 1 config delay $DELAY bw "$LINK_BW"Kbit/s plr $RAND_LOSS
#echo "dummynet out from any to any pipe 1" >> /tmp/rules
#dnctl pipe 2 config delay $DELAY bw "$LINK_BW"Kbit/s plr $RAND_LOSS
#echo "dummynet in from any to any pipe 2" >> /tmp/rules
#dnctl pipe 2 config delay 50 bw 500Kbit/s
#dnctl pipe 3 config delay 50 bw 500Kbit/s
#echo "dummynet out from any to 69.174.108.151 pipe 2" >> /tmp/rules
#echo "dummynet out from any to 173.36.203.67 pipe 3" >> /tmp/rules
#dnctl pipe 2 config delay 50 bw 500Kbit/s
#dnctl pipe 3 config delay 50 bw 500Kbit/s
#echo "dummynet out from any to 69.174.108.189 pipe 2" >> /tmp/rules
#echo "dummynet out from any to 66.114.162.38 pipe 3" >> /tmp/rules
sudo pfctl -f /tmp/rules
#echo "block in proto udp from any to any" | sudo pfctl -f -
#dnctl pipe 1 config plr 0.15
#echo "dummynet out proto udp from any to any pipe 1" | sudo pfctl -f -
pfctl -e
dnctl show
}
stop()
{
pfctl -f /etc/pf.conf
pfctl -d
dnctl -q flush
dnctl show
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment