As informações de ajuda não parecem ser muito informativas:
--list -L [chain [rulenum]]
List the rules in a chain or all chains
--list-rules -S [chain [rulenum]]
Print the rules in a chain or all chains
A única diferença está na escolha da palavra: "list" vs. "print".
O manual é um pouco mais detalhado, mas ainda não ajuda:
-L, --list [chain]
List all rules in the selected chain. If no chain is selected, all chains are listed. Like every other iptables command, it applies to the specified table (filter is the default), so NAT
rules get listed by
iptables -t nat -n -L
Please note that it is often used with the -n option, in order to avoid long reverse DNS lookups. It is legal to specify the -Z (zero) option as well, in which case the chain(s) will be atom‐
ically listed and zeroed. The exact output is affected by the other arguments given. The exact rules are suppressed until you use
iptables -L -v
-S, --list-rules [chain]
Print all rules in the selected chain. If no chain is selected, all chains are printed like iptables-save. Like every other iptables command, it applies to the specified table (filter is the
default).
Parece-me que -S
é realmente mais detalhado e imprimi as portas exatas que permiti com um --dports
argumento. Mas por que é assim? Eu não acho que a palavra "imprimir" sugere automaticamente um nível mais alto de detalhes do que "lista"?