wbenny

Untitled

Oct 15th, 2026
14,368
-1
Never
2
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.68 KB | None | 0 1
  1. # stun.py — python3 stun.py 4000
  2. import socket, os, struct, sys
  3. port = int(sys.argv[1]); COOKIE = 0x2112A442
  4. s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  5. s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1); s.bind(('', port))
  6. s.sendto(struct.pack('!HHI', 0x0001, 0, COOKIE) + os.urandom(12), ('stun.l.google.com', 19302))
  7. d, _ = s.recvfrom(1024); i = 20
  8. while i < len(d):
  9. t, l = struct.unpack('!HH', d[i:i+4]); v = d[i+4:i+4+l]
  10. if t == 0x0020: # XOR-MAPPED-ADDRESS
  11. p = struct.unpack('!H', v[2:4])[0] ^ (COOKIE >> 16)
  12. ip = '.'.join(str(b ^ m) for b, m in zip(v[4:8], COOKIE.to_bytes(4, 'big')))
  13. print(f'{ip}:{p}')
  14. i += 4 + ((l + 3) & ~3)
Advertisement