.TH SPFTRACE 1 2023-09-20 "spftrace 0.3.0" .SH NAME spftrace \- utility for tracing SPF queries .SH SYNOPSIS .SY spftrace .OP \-H name .OP \-n number .OP \-o number .OP \-R name .OP \-s .OP \-T number .OP \-t .OP \-w number .I sender .RI [ ip ] .YS .SH DESCRIPTION .B spftrace executes, traces, and displays SPF queries. SPF, the .I Sender Policy .IR Framework , is specified in RFC\~7208. Pass a sender identity (an email address or a domain name) and an IP address as arguments to execute and display an SPF query. When the IP address is omitted, it defaults to “0.0.0.0”. .PP .B spftrace prints the SPF record for each domain it evaluates together with the tree of evaluated mechanisms and modifiers. The evaluation result for each mechanism encountered is shown as “match” with SPF result, “not-match”, or “error” with the cause of the error. Finally, the SPF result of the query is shown. .PP Use the unspecified IP address “0.0.0.0” (IPv4) or “::” (IPv6) to display the full evaluation tree of some SPF-enabled domain. .PP Internationalized domain names are converted to ASCII form before evaluation. .SH OPTIONS .TP .BR \-H ", " \-\-helo-domain " \fIname\fR" The domain name to substitute for the .I h macro, the client’s HELO domain name. The given name must be a fully-qualified domain name. .TP .BR \-h ", " \-\-help Print usage information. .TP .BR \-R ", " \-\-hostname " \fIname\fR" The domain name to substitute for the .I r macro, the receiving host’s domain name. .TP .BR \-w ", " \-\-line-width " \fInumber\fR" The maximum line width in characters when printing items that span multiple lines. The default is 100. .TP .BR \-n ", " \-\-max-lookups " \fInumber\fR" The maximum number of DNS lookups allowed. This setting is used for both the overall, per-query limit, and the nested, per-mechanism limit for the .I mx and .I ptr mechanisms. The default is 10. .IP Note that this setting controls the actual lookup limit used for the query, not what is displayed and highlighted as the limit, which is always the RFC\~7208 value “10”. .TP .BR \-o ", " \-\-max-void-lookups " \fInumber\fR" The maximum number of void lookups allowed. The default is 2. .IP Note that this setting controls the actual void lookup limit used for the query, not what is displayed and highlighted as the limit, which is always the RFC\~7208 value “2”. .TP .BR \-s ", " \-\-system-resolver Use the resolver configured on the system. When this option is used, .B spftrace will read the resolver configuration present on the system (for example, at .I /etc/resolv.conf on UNIX-like systems) to configure the integrated resolver library. .IP When this option is not used, the program disregards the local resolver configuration and performs name resolution on its own by directly querying a well-known public DNS service such as Google Public DNS. .TP .BR \-t ", " \-\-time Display query and lookup times. .TP .BR \-T ", " \-\-timeout-secs " \fInumber\fR" The number of seconds until an SPF query times out. The default is 30. .TP .BR \-V ", " \-\-version Print version information. .SH SEE ALSO RFC\~7208