TCPDMATCH(8)
โจ TCPDMATCH(8) โจ
okay bestie, welcome to TCPDMATCH(8) โ a page from the System Manager's Manual, and honestly? it's giving "crystal ball but for your firewall" ๐ฎ
๐ NAME ๐
tcpdmatch โ the tcp wrapper oracle ๐ง
๐ธ SYNOPSIS ๐ธ
tcpdmatch [-d] [-i inet_conf] daemon client
tcpdmatch [-d] [-i inet_conf] daemon[@server] [user@]client
๐ฆ DESCRIPTION ๐ฆ
so here's the vibe: tcpdmatch predicts how the tcp wrapper would handle one specific request for service. like, it's not doing the thing, it's telling you what would happen. examples are down below in EXAMPLES, no worries.
The program goes and examines the tcpd access control tables โ default /etc/hosts.allow and /etc/hosts.deny โ and then prints its conclusion. and for maximal accuracy?? it also pulls extra info out of your inetd network configuration file. maximal accuracy, we love to see it.
When tcpdmatch finds a match in the access control tables, it identifies the matched rule. AND on top of that, it displays the optional shell commands or options in a pretty-printed format โ which makes it way easier for you to spot any discrepancies between what you want and what the program understands. iconic behaviour honestly ๐
๐ ARGUMENTS ๐
These next two are always required, no skipping, periodt:
daemonโ a daemon process name. typically it's the last component of a daemon executable pathname.clientโ a host name or network address, or one of theunknownorparanoidwildcard patterns.- When you specify a client host name,
tcpdmatchgives you a prediction for each address listed for that client. (yes, each one. it does the work so you don't have to ๐ซถ) - When you specify a client address,
tcpdmatchpredicts whattcpdwould do when client name lookup fails.
- When you specify a client host name,
Now the optional info you can pass with the daemon@server form:
serverโ a host name or network address, or one of theunknownorparanoidwildcard patterns. The default server name isunknown.
And the optional info you can pass with the user@client form:
userโ a client user identifier. typically a login name or a numeric userid. The default user name isunknown.
โจ OPTIONS โจ
-dโ examinehosts.allowandhosts.denyfiles in the current directory instead of the default ones. (local files only, bestie, it's not gonna go snooping in/etc๐)-iinet_confโ specify this option whentcpdmatchis unable to find yourinetd.confnetwork configuration file, or when you suspect that the program uses the wrong one. like handing your friend the aux cord because they keep picking the wrong song ๐ง
๐ฅ EXAMPLES ๐ฅ
Wanna predict how tcpd would handle a telnet request from the local system? say less:
tcpdmatch in.telnetd localhost
Same request, but pretending that hostname lookup failed:
tcpdmatch in.telnetd 127.0.0.1
And to predict what tcpd would do when the client name does not match the client address:
tcpdmatch in.telnetd paranoid
heads up bestie: on some systems, daemon names have noin.prefix, ortcpdmatchmay need some help to locate theinetdconfiguration file. so if it's acting confused, that's why. ๐
๐ FILES ๐
The default locations of the tcpd access control tables are:
/etc/hosts.allow
/etc/hosts.deny
๐ SEE ALSO ๐
tcpdchk(8), tcpd configuration checkerhosts_access(5), format of the tcpd access control tables.hosts_options(5), format of the language extensions.inetd.conf(5), format of the inetd control file.
๐ AUTHORS ๐
Wietse Venema (wietse@wzv.win.tue.nl), Department of Mathematics and Computing Science, Eindhoven University of Technology Den Dolech 2, P.O. Box 513, 5600 MB Eindhoven, The Netherlands
and that's the whole page, bestie!! ๐ this was from TCPDMATCH(8) in the System Manager's Manual โ go forth and predict your tcp wrapper's decisions with main character energy ๐ฆโจ๐
๐ฆ where this page comes from
- debian bookworm: tcpd 7.6.q-32
- debian trixie: tcpd 7.6.q-36
- nixos 26.05: tcp-wrappers 7.6.q-36
- nixpkgs unstable: tcp-wrappers 7.6.q-36
- ubuntu jammy: tcpd 7.6.q-31build2
- ubuntu noble: tcpd 7.6.q-33
- ubuntu questing: tcpd 7.6.q-36build1
- ubuntu resolute: tcpd 7.6.q-36build2
- ubuntu stonking: tcpd 7.6.q-37
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms