Skip to content

Instantly share code, notes, and snippets.

@majek
majek / p0f-ssl-2012-05-17.diff
Created May 17, 2012 20:39
p0f-ssl-2012-05-17.diff
diff --git a/build.sh b/build.sh
index 112e404..2974fdc 100755
--- a/build.sh
+++ b/build.sh
@@ -31,7 +31,7 @@ else
USE_LIBS="-lpcap $LIBS"
fi
-OBJFILES="api.c process.c fp_tcp.c fp_mtu.c fp_http.c readfp.c"
+OBJFILES="api.c process.c fp_tcp.c fp_mtu.c fp_http.c fp_ssl.c readfp.c"
@majek
majek / udp_server.py
Created February 8, 2012 00:48
Simple python udp server
import logging
import socket
log = logging.getLogger('udp_server')
def udp_server(host='127.0.0.1', port=1234):
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
@majek
majek / manage_mptcp_endpoint.sh
Created August 18, 2023 10:38
Manage `ip mptcp endpoint` state on linux
#!/bin/bash
set -e
echo "[+] Clearling old mptcp endpoints"
for i in `ip mptcp endpoint show|cut -d " " -f 3`; do
ip mptcp endpoint delete id $i;
done
declare -A OLD
@majek
majek / disassm.py
Last active July 16, 2023 14:34
msp430 disassembler
#!/usr/bin/env python
import collections
import itertools
import sys
import string
import array
def load_memory(filename):
regs = {}
@majek
majek / README.md
Created April 26, 2012 15:15
Passing TCP socket descriptors around

Passing TCP socket descriptors around

In linux, normally, it is impossible to "bind()" to the same TCP port twice. If you try to bind to the same port from second proces unix processes you'll see:

socket.error: [Errno 98] Address already in use

@majek
majek / slow_network.sh
Created July 8, 2022 08:52
Bash script to selectively slow down traffic to given IP's - using tc netem
#!/bin/bash
set -e
set -u
set -o pipefail
IFACE="lo"
LATENCY=200
CLEAN=""
IPS=()
@majek
majek / Makefile
Created June 17, 2022 15:04
repro_access_to_stack_error_bpf
.PHONY: repro
repro:
$(CLANG) -Wall -Wextra -O2 --target=bpf -c -g \
repro.bpf.c \
-o repro.bpf.o
bpftool gen skeleton repro.bpf.o > repro.bpf.skel.h
$(CLANG) -Wall -fno-omit-frame-pointer -Wextra -O2 -g \
repro.c \
-lbpf \
-lelf \
#!/usr/bin/gnuplot -c
set terminal pngcairo transparent enhanced linewidth 2 font 'Helvetica,15' size 2000, 1200 background rgb 'white'
set xtics nomirror rotate by -45
set ytics nomirror
set grid ytics
set grid xtics
set ylabel "Bytes"
set datafile separator ","
set output ARG3
set key autotitle columnheader outside
@majek
majek / Makefile
Created December 13, 2018 11:11
TCP splice with splice() experimentation
all:
clang -g -O2 -Wall -Wextra net.c send.c -o send
clang -g -O2 -Wall -Wextra net.c receive.c -o receive
clang -g -O2 -Wall -Wextra net.c proxy-naive.c -o proxy-naive
clang -g -O2 -Wall -Wextra net.c proxy-splice.c -o proxy-splice
@majek
majek / compile-kernel.sh
Created February 1, 2021 15:36
repro for kvm gvisor
rm .config
make tinyconfig
make kvm_guest.config
make kvmconfig
./scripts/config \
-e EARLY_PRINTK \
-e 64BIT \
-e BPF -d EMBEDDED -d EXPERT \
-e INOTIFY_USER