(vous devrez peut-être installer le package ip
sur openwrt (v12 / ajustement d'attitude)
ifconfig / netstat etc. sont considérés comme obsolètes , vous devez donc utiliser (en tant que root)
ss -nlput | grep sshd
pour afficher les sockets TCP / UDP sur lesquels un programme en cours d'exécution qui contient la chaîne sshd
écoute
-n
pas de port pour nommer la résolution
-l
prises d'écoute uniquement
-p
montrer l'écoute des processus
-u
afficher les sockets udp
-t
afficher les sockets tcp
Ensuite, vous avez créé une liste comme celle-ci:
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 chose intéressante est la 5ème colonne qui montre une combinaison d'adresse IP et de port:
*:22
écouter sur le port 22 sur chaque adresse IPv4 disponible
:::22
écouter sur le port 22 sur chaque adresse IP disponible (je n'écris pas IPv6, car IP est IPv6 selon RFC 6540 )
127.0.0.1:6010
écouter sur l'adresse IPv4 127.0.0.1 (localhost / loopback) et le port 6010
::1:6010
écouter sur l'adresse IP :: 1 (0: 0: 0: 0: 0: 0: 0: 1 en notation complète, également localhost / loopback) et le port 6010
Vous voulez ensuite savoir quelles interfaces ont une adresse IPv4 (pour couvrir 1.)
ip -4 a
# or "ip -4 address"
# or "ip -4 address show"
ou une adresse IP (pour couvrir 2.)
ip -6 a
# or "ip -6 address
# or "ip -6 address show
(si vous n'ajoutez pas l'option pour IP ( -6
) ou IPv4 ( -4
), les deux sont affichés)
Vous pouvez également avoir un look qui affiche et recherche par exemple 127.0.0.1
ou toute autre adresse 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
Les lignes commençant par inet
et inet6
montrant que ces IP sont liées à cette interface, vous pouvez avoir plusieurs de ces lignes par interface:
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
et dans un script:
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
(remplacer "127.0.0.1")