Compare commits

...

2 Commits

Author SHA1 Message Date
afonsofrancof 9652501af4 fix(scripts): fix urls in run.sh 2026-07-09 22:58:15 +01:00
afonsofrancof b326d0557d fix(scripts): improve merge_pcap.py 2026-07-09 22:53:53 +01:00
2 changed files with 32 additions and 40 deletions
+8 -16
View File
@@ -16,7 +16,6 @@ import dpkt
DEFAULT_LOCAL_IP = "192.168.100.2" # netns veth1 address
DEFAULT_PROVIDERS = ["adguard", "cloudflare", "google", "quad9"]
class PacketSummary(NamedTuple):
@@ -50,17 +49,12 @@ def parse_config_from_filename(filename: str) -> dict:
}
def find_pcap_files(input_dir: Path, providers: List[str]) -> List[Path]:
def find_pcap_files(input_dir: Path) -> List[Path]:
files: List[Path] = []
for provider in providers:
provider_path = input_dir / provider
if not provider_path.exists():
print(f" ⚠ Missing provider directory: {provider}")
continue
for p in sorted(provider_path.glob("*.pcap")):
if ".bak" not in p.name:
files.append(p)
return files
for p in input_dir.rglob("*.pcap"):
if ".bak" not in p.name:
files.append(p)
return sorted(files)
def summarize_pcap(pcap_path: Path, local_ip_bytes: bytes) -> PacketSummary:
@@ -100,10 +94,10 @@ def summarize_pcap(pcap_path: Path, local_ip_bytes: bytes) -> PacketSummary:
)
def merge_pcap_files(input_dir: Path, output_path: Path, local_ip: str, providers: List[str]):
def merge_pcap_files(input_dir: Path, output_path: Path, local_ip: str):
local_ip_bytes = socket.inet_aton(local_ip)
pcap_files = find_pcap_files(input_dir, providers)
pcap_files = find_pcap_files(input_dir)
if not pcap_files:
print("No .pcap files found.")
return
@@ -167,11 +161,9 @@ def main():
parser.add_argument("-o", "--output", default="dns_results_pcap.csv", help="Output CSV path")
parser.add_argument("--local-ip", default=DEFAULT_LOCAL_IP,
help=f"Local netns veth IP for direction detection (default: {DEFAULT_LOCAL_IP})")
parser.add_argument("--providers", nargs="+", default=DEFAULT_PROVIDERS,
help="Provider subdirectory names to scan")
args = parser.parse_args()
merge_pcap_files(Path(args.input_dir), Path(args.output), args.local_ip, args.providers)
merge_pcap_files(Path(args.input_dir), Path(args.output), args.local_ip)
return 0
+24 -24
View File
@@ -94,28 +94,28 @@ add() { # add <name> <url> <dnssec> <auth> <keepalive>
# All transports.
add google-dotcp "dotcp://8.8.8.8:53" false false false
add cloudflare-dotcp "dotcp://1.1.1.1:53" false false false
add quad9-dotcp "dotcp://9.9.9.9:53" false false false
add adguard-dotcp "dotcp://dns.adguard-dns.com:53" false false false
add quad9-dotcp "dotcp://9.9.9.10:53" false false false
add adguard-dotcp "dotcp://94.140.14.140:53" false false false
add google-dot "tls://8.8.8.8:853" false false false
add cloudflare-dot "tls://1.1.1.1:853" false false false
add quad9-dot "tls://9.9.9.9:853" false false false
add adguard-dot "tls://dns.adguard-dns.com:853" false false false
add quad9-dot "tls://9.9.9.10:853" false false false
add adguard-dot "tls://94.140.14.140:853" false false false
add google-doh "https://dns.google/dns-query" false false false
add cloudflare-doh "https://cloudflare-dns.com/dns-query" false false false
add quad9-doh "https://dns10.quad9.net/dns-query" false false false
add adguard-doh "https://dns.adguard-dns.com/dns-query" false false false
add adguard-doh "https://unfiltered.adguard-dns.com/dns-query" false false false
add google-doh3 "doh3://dns.google/dns-query" false false false
add cloudflare-doh3 "doh3://cloudflare-dns.com/dns-query" false false false
add adguard-doh3 "doh3://dns.adguard-dns.com/dns-query" false false false
add adguard-doq "doq://dns.adguard-dns.com:853" false false false
add adguard-doh3 "doh3://unfiltered.adguard-dns.com/dns-query" false false false
add adguard-doq "doq://unfiltered.adguard-dns.com:853" false false false
add google-doudp "udp://8.8.8.8:53" false false false
add cloudflare-doudp "udp://1.1.1.1:53" false false false
add quad9-doudp "udp://9.9.9.9:53" false false false
add adguard-doudp "udp://dns.adguard-dns.com:53" false false false
add quad9-doudp "udp://9.9.9.10:53" false false false
add adguard-doudp "udp://94.140.14.140:53" false false false
add adguard-dnscrypt "sdns://AQMAAAAAAAAAETk0LjE0MC4xNC4xNDo1NDQzINErR_JS3PLCu_iZEIbq95zkSV2LFsigxDIuUso_OQhzIjIuZG5zY3J5cHQuZGVmYXVsdC5uczEuYWRndWFyZC5jb20" false false false
add quad9-dnscrypt "sdns://AQMAAAAAAAAAFDE0OS4xMTIuMTEyLjExMjo4NDQzIGfIR7jIdYzRICRVQ751Z0bfNN8dhMALjEcDaN-CHYY-GTIuZG5zY3J5cHQtY2VydC5xdWFkOS5uZXQ" false false false
@@ -124,50 +124,50 @@ add quad9-dnscrypt "sdns://AQMAAAAAAAAAFDE0OS4xMTIuMTEyLjExMjo4NDQzIGfIR7jIdY
# QUIC makes no sense cause of 0-RTT.
add google-dotcp "dotcp://8.8.8.8:53" false false true
add cloudflare-dotcp "dotcp://1.1.1.1:53" false false true
add quad9-dotcp "dotcp://9.9.9.9:53" false false true
add adguard-dotcp "dotcp://dns.adguard-dns.com:53" false false true
add quad9-dotcp "dotcp://9.9.9.10:53" false false true
add adguard-dotcp "dotcp://94.140.14.140:53" false false true
add google-dot "tls://8.8.8.8:853" false false true
add cloudflare-dot "tls://1.1.1.1:853" false false true
add quad9-dot "tls://9.9.9.9:853" false false true
add adguard-dot "tls://dns.adguard-dns.com:853" false false true
add quad9-dot "tls://9.9.9.10:853" false false true
add adguard-dot "tls://94.140.14.140:853" false false true
add google-doh "https://dns.google/dns-query" false false true
add cloudflare-doh "https://cloudflare-dns.com/dns-query" false false true
add quad9-doh "https://dns10.quad9.net/dns-query" false false true
add adguard-doh "https://dns.adguard-dns.com/dns-query" false false true
add adguard-doh "https://unfiltered.adguard-dns.com/dns-query" false false true
# DNSSEC trust - non-persistent.
add google-dotcp "dotcp://8.8.8.8:53" true false false
add cloudflare-dotcp "dotcp://1.1.1.1:53" true false false
add quad9-dotcp "dotcp://9.9.9.9:53" true false false
add adguard-dotcp "dotcp://dns.adguard-dns.com:53" true false false
add quad9-dotcp "dotcp://9.9.9.10:53" true false false
add adguard-dotcp "dotcp://94.140.14.140:53" true false false
add google-dot "tls://8.8.8.8:853" true false false
add cloudflare-dot "tls://1.1.1.1:853" true false false
add quad9-dot "tls://9.9.9.9:853" true false false
add adguard-dot "tls://dns.adguard-dns.com:853" true false false
add quad9-dot "tls://9.9.9.10:853" true false false
add adguard-dot "tls://94.140.14.140:853" true false false
add google-doh "https://dns.google/dns-query" true false false
add cloudflare-doh "https://cloudflare-dns.com/dns-query" true false false
add quad9-doh "https://dns10.quad9.net/dns-query" true false false
add adguard-doh "https://dns.adguard-dns.com/dns-query" true false false
add adguard-doh "https://unfiltered.adguard-dns.com/dns-query" true false false
add google-doh3 "doh3://dns.google/dns-query" true false false
add cloudflare-doh3 "doh3://cloudflare-dns.com/dns-query" true false false
add adguard-doh3 "doh3://dns.adguard-dns.com/dns-query" true false false
add adguard-doq "doq://dns.adguard-dns.com:853" true false false
add adguard-doh3 "doh3://unfiltered.adguard-dns.com/dns-query" true false false
add adguard-doq "doq://unfiltered.adguard-dns.com:853" true false false
add google-doudp "udp://8.8.8.8:53" true false false
add cloudflare-doudp "udp://1.1.1.1:53" true false false
add quad9-doudp "udp://9.9.9.9:53" true false false
add adguard-doudp "udp://dns.adguard-dns.com:53" true false false
add quad9-doudp "udp://9.9.9.10:53" true false false
add adguard-doudp "udp://94.140.14.140:53" true false false
add adguard-dnscrypt "sdns://AQMAAAAAAAAAETk0LjE0MC4xNC4xNDo1NDQzINErR_JS3PLCu_iZEIbq95zkSV2LFsigxDIuUso_OQhzIjIuZG5zY3J5cHQuZGVmYXVsdC5uczEuYWRndWFyZC5jb20" true false false
add quad9-dnscrypt "sdns://AQMAAAAAAAAAFDE0OS4xMTIuMTEyLjExMjo4NDQzIGfIR7jIdYzRICRVQ751Z0bfNN8dhMALjEcDaN-CHYY-GTIuZG5zY3J5cHQtY2VydC5xdWFkOS5uZXQ" true false false
# DNSSEC auth - DoUDP only.
# auth walks the chain of trust over plain DoUDP regardless of the protocol.
add adguard-doudp "udp://dns.adguard-dns.com:53" true true false
add adguard-doudp "udp://unfiltered.adguard-dns.com:53" true true false
# Function to get flags suffix for filename
get_flags_suffix() {