Compare commits
2 Commits
cc5e0ab00a
...
9652501af4
| Author | SHA1 | Date | |
|---|---|---|---|
| 9652501af4 | |||
| b326d0557d |
@@ -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")):
|
||||
for p in input_dir.rglob("*.pcap"):
|
||||
if ".bak" not in p.name:
|
||||
files.append(p)
|
||||
return files
|
||||
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
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user