Soluzione 1:
Un'opzione potrebbe essere quella di registrare tutti i pacchetti scartati con una regola come:
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl -j LOG --log-prefix "FW_DROPPED: "
Inseriscilo immediatamente prima di DROP
regola. Quindi, puoi eseguire il grep del file syslog per qualsiasi cosa con "FW_DROPPED" e l'elenco degli IP sarà lì. Le voci nel file di registro hanno un aspetto simile a questo:
Jun 3 08:05:57 some-machine kernel: [15852451.420557] FW_DROPPED: IN=eth0 OUT= MAC=00:50:ba:4a:d9:e3:00:12:17:3a:e3:64:08:00 SRC=228.23.45.189 DST=192.168.1.1 LEN=48 TOS=0x00 PREC=0x00 TTL=106 ID=10941 PROTO=TCP SPT=58212 DPT=22 WINDOW=65535 RES=0x00 SYN URGP=0
Quindi, ritagliando ciò che segue "SRC=" ti mostrerà gli IP eliminati. Ordinalo, eliminando i duplicati, e avrai la tua lista.
Ho trovato il Tutorial di Iptables la documentazione più utile per iptables/netfilter.
Soluzione 2:
Puoi trovare i dettagli in /proc/net/ipt_recent/SSH.
Questo articolo contiene ulteriori informazioni.
Soluzione 3:
Guarda
/proc/net/ipt_recent/YOURNAME
dove TUONOME è il nome che hai usato con l'opzione --name nella tua regola iptables.
Soluzione 4:
Ecco una semplice riga:
$ iptables -L -n --line