(potrebbe essere necessario installare il pacchetto ip
su openwrt (regolazione v12 / attitude)
ifconfig / netstat ecc. sono considerati obsoleti , quindi dovresti usare (come root)
ss -nlput | grep sshd
per mostrare i socket TCP / UDP su cui sshd
è in ascolto un programma in esecuzione che contiene la stringa
-n
nessuna porta per la risoluzione dei nomi
-l
solo prese d'ascolto
-p
mostra l'ascolto dei processi
-u
mostra prese udp
-t
mostra socket tcp
Quindi geht un elenco come questo:
tcp LISTEN 0 128 *:22 *:* users:(("sshd",3907,4))
tcp LISTEN 0 128 :::22 :::* users:(("sshd",3907,3))
tcp LISTEN 0 128 127.0.0.1:6010 *:* users:(("sshd",4818,9))
tcp LISTEN 0 128 ::1:6010 :::* users:(("sshd",4818,8))
la cosa interessante è la quinta colonna che mostra una combinazione di indirizzo IP e porta:
*:22
ascolta sulla porta 22 su ogni indirizzo IPv4 disponibile
:::22
ascolto sulla porta 22 su ogni indirizzo IP disponibile (non scrivo IPv6, poiché IP è IPv6 per RFC 6540 )
127.0.0.1:6010
ascoltare l'indirizzo IPv4 127.0.0.1 (localhost / loopback) e la porta 6010
::1:6010
ascolta su indirizzo IP :: 1 (0: 0: 0: 0: 0: 0: 0: 1 in notazione completa, anche localhost / loopback) e porta 6010
Volete quindi sapere quali interfacce hanno un indirizzo IPv4 (per coprire 1.)
ip -4 a
# or "ip -4 address"
# or "ip -4 address show"
o un indirizzo IP (per coprire 2.)
ip -6 a
# or "ip -6 address
# or "ip -6 address show
(se non si aggiunge l'opzione per IP ( -6
) o IPv4 ( -4
) vengono visualizzati entrambi)
Puoi anche dare un'occhiata all'output e cercare, ad esempio, 127.0.0.1
o qualsiasi altro indirizzo IP / IPv4
# here a demo where i show all addresses of the device "lo" (loopback)
ip a show dev lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
Le linee che iniziano con inet
e inet6
mostrano che questi IP sono associati a questa interfaccia, potresti avere molte di queste linee per interfaccia:
he-ipv6: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1480 qdisc noqueue state UNKNOWN
link/sit 192.0.2.1 peer 192.0.2.3
inet6 2001:db8:12::1/64 scope global
valid_lft forever preferred_lft forever
inet6 2001:db8::2/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::1111:1111/128 scope link
valid_lft forever preferred_lft forever
e in una sceneggiatura:
address="127.0.0.1"
for i in $(grep ':' /proc/net/dev | cut -d ':' -f 1 | tr -d ' ') ; do
if $(ip address show dev $i | grep -q "${address}") ; then
echo "${address} found on interface ${i}"
fi
done
(sostituire "127.0.0.1")