rustnet(1)
π rustnet β like, the whole manual, bestie
okay so you opened rustnet(1) and I'm gonna walk you through it like we're texting at 2am. it's the General Commands Manual page, and honestly? it ate. let's go. π«Ά
β¨ NAME β¨
rustnet β a cross-platform network monitoring tool. that's it. that's the vibe. it watches your network and tells you what's up. π
πΈ SYNOPSIS πΈ
rustnet [-i|--interface] [--no-localhost] [--show-localhost]
[--headless] [--duration] [--output] [--filter] [-r|--refresh-interval]
[--no-dpi] [-l|--log-level] [--json-log] [--pcap-export]
[--pcapng-export] [-f|--bpf-filter] [--no-resolve-dns]
[--show-ptr-lookups] [--no-color] [--theme] [--geoip-country]
[--geoip-asn] [--geoip-city] [--no-geoip] [--kubernetes] [--no-sandbox]
[--sandbox-strict] [--no-uid-drop] [-h|--help] [-V|--version]
like yes, that's a lot of brackets. it's giving "choose your own adventure" and we love her for it. π
π¦ DESCRIPTION π¦
Cross-platform network monitoring tool. literally what it says on the tin, no cap. it monitors networks, on multiple platforms, and it's written in rust (iykyk). π
π OPTIONS π β the main character section, lowkey my favorite
-i,--interface <INTERFACE>β which network interface you wanna monitor. pass"any"and it captures all the interfaces at once. main character energy, honestly. π--no-localhostβ yeets localhost connections out of the results. filter 'em, bestie.--show-localhostβ actually shows localhost connections (this overrides the default filtering, so it's the "wait, come back" option π).--headlessβ runs without the interactive terminal UI. just the data, no glitz. very demure, very mindful.--duration <SECONDS>β stops headless monitoring after this many seconds. a little timer for your little headless run. β°--output <FORMAT>β the headless output format. options arejsonl(streams snapshots) orjson(one final snapshot). pick your fighter. possible values:jsonljson
--filter <QUERY>β filters the headless output using the shared connection filter syntax. shared! with the other stuff! you know the one. π-r,--refresh-interval <MILLISECONDS>β snapshot + UI refresh interval, in milliseconds. default:500. yes, half a second, she's quick. β--no-dpiβ disables deep packet inspection. DPI said "not today". π-l,--log-level <LEVEL>β sets the log level. and listen: if you don't provide it, no logging will be enabled at all. so like, actually pass it if you want logs, bestie. π--json-log <FILE>β turns on JSON logging of connection events, written to the file you specify. structured logs, so organized. π--pcap-export <FILE>β exports captured packets to a PCAP file for Wireshark analysis. ur packets, but make it a keepsake. π¦--pcapng-export <FILE>β exports captured packets to an annotated PCAPNG file for Wireshark analysis. annotated!! the glow-up version. β¨-f,--bpf-filter <FILTER>β a BPF filter expression for packet capture. examples they literally gave:"tcp port 443"and"dst port 80". slay. π₯--no-resolve-dnsβ disables reverse DNS resolution for IP addresses. note it's enabled by default, and it shows hostnames instead of IPs, so this turns that whole thing off. π§--show-ptr-lookupsβ shows PTR lookup connections in the UI. they're hidden by default when DNS resolution is enabled, so this is the "unhide them" button. π--no-colorβ no colors in the UI at all. it also respects theNO_COLORenv var, so that's a thing. monochrome moment. π€--theme <PRESET>β color theme:muted(default),vivid,catppuccin-mocha,tokyo-night,gruvbox,nord. this overrides the theme set in the config file at~/.config/rustnet/config.toml. possible values:mutedvividcatppuccin-mochatokyo-nightgruvboxnord
--geoip-country <PATH>β path to theGeoLite2-Country.mmdbdatabase. it auto-discovers from:./resources/geoip2,$XDG_DATA_HOME/rustnet/geoip,~/.local/share/rustnet/geoip,/usr/share/GeoIP,/usr/local/share/GeoIP,/opt/homebrew/share/GeoIP,/var/lib/GeoIP. she'll find it, don't worry. π--geoip-asn <PATH>β path to theGeoLite2-ASN.mmdbdatabase. same search paths as--geoip-country. twinning! π«Ά--geoip-city <PATH>β path to theGeoLite2-City.mmdbdatabase. same search paths as--geoip-country, and it's a superset of Country: gives you the city name and postal code in addition to the country. more info, more fun. ποΈ--no-geoipβ disables GeoIP lookups entirely. goodbye geography. π--kubernetes <MODE>β Kubernetes pod/container attribution. default:auto. the modes:"auto"(only enabled when running inside a pod),"on"(always), or"off". possible values:autoonoff
--no-sandboxβ disables sandboxing. β οΈ heads up though: on Linux,PR_SET_NO_NEW_PRIVSis still set. so like, not fully sandbox-free, okurrr.--sandbox-strictβ requires full sandbox enforcement, or it exits. strict means strict, periodt. π¨--no-uid-dropβ keeps running as root instead of dropping toSUDO_UID/SUDO_GID(ornobody) after initialization. and why would you? because keeping root lets the procfs fallback attribute other users' processes when eBPF is unavailable. so it's a real tradeoff, not just chaos. π-h,--helpβ prints help. ur lil map. πΊοΈ-V,--versionβ prints the version. iconic. β
fr fr, keep the caveats in mind:--no-sandboxon Linux still setsPR_SET_NO_NEW_PRIVS,--sandbox-strictwill outright exit if it can't fully enforce, and--no-uid-dropmeans you stay root on purpose. read before you send it. π
π VERSION π
v1.7.0 β that's her. current. fresh. π¦
π AUTHORS π
Network Monitor. yes that's the author line, and yes it's giving mysterious. π΅οΈ
and that's the whole page, bestie!! no skips, no cuts, every flag accounted for. π«Ά
π cute lil sign-off: this was rustnet 1.7.0, from the rustnet(1) page β see u in the group chat, mwah π
β¨π
π¦ where this page comes from
- arch rolling: rustnet 1.7.0-1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms