Skip to content

Instantly share code, notes, and snippets.

@vtkacenko
Last active February 1, 2024 16:07
Show Gist options
  • Save vtkacenko/52eabb673910f16566efd75cbbc8f6d2 to your computer and use it in GitHub Desktop.
Save vtkacenko/52eabb673910f16566efd75cbbc8f6d2 to your computer and use it in GitHub Desktop.
Spaghetti
  188  sudo usermod -aG wireshark <user>
  191  sudo tshark -i lo -f "udp" -w file.pcap
  192  sudo su
  194  rm /tmp/file.pcap
  195  sudo rm /tmp/file.pcap
  196  sudo tshark -i lo -f "udp" -w /tmp/file.pcap
  197  sudo mv /tmp/file.pcap ./
  198  ls
  199  chown whoami file.pcap
  200  chown -R whoami file.pcap
  201  chown -R grandpaw file.pcap
  202  sudo chown -R grandpaw file.pcap
  203  sudo wireshark
  204  sudo tshark -i lo -f "udp" -w /tmp/file_2.pcap

script.sh:

#!/bin/bash

sudo tc qdisc add dev lo root handle 1: htb
sudo tc class add dev lo parent 1:0 classid 1:2 htb rate 2mbit
sudo tc filter add dev lo protocol ip parent 1:0 prio 1 u32 match ip dport 5201 0xffff flowid 1:2
sudo tc qdisc add dev lo parent 1:2 handle 20: netem limit 10000 delay 10ms

remove-impair.sh

#!/bin/bash
sudo tc qdisc del dev lo root handle 1:

Start server

iperf3 -s -B 127.0.0.1

Run client

iperf3 -u -c 127.0.0.1 -b 2m -t 30 -l 1000

Filter packets

tshark -r /tmp/file_2.pcap -Y "udp.dstport == 5201" -T fields -e frame.time_epoch |
awk 'NR>1 {print ($1-prev)*1000 " ms"} {prev=$1}' > stamps.txt

impair.sh

#!/bin/bash
sleep 5

for i in {0..10}; do
sudo tc class change dev lo parent 1:0 classid 1:2 htb rate 500.0kbit
sleep 0.5
sudo tc class change dev lo parent 1:0 classid 1:2 htb rate 2000.0kbit
sleep 1
done

echo "Finished"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment