(być może będziesz musiał zainstalować pakiet ip
na openwrt (v12 / dostosowanie postawy)
ifconfig / netstat itp. są uważane za przestarzałe , więc powinieneś użyć (jako root)
ss -nlput | grep sshd
aby pokazać gniazda TCP / UDP, na których sshd
nasłuchuje uruchomiony program zawierający ciąg
-n
brak portu do rozpoznawania nazw
-l
tylko gniazda nasłuchowe
-p
pokaż procesy słuchania
-u
pokaż gniazda udp
-t
pokaż gniazda TCP
Następnie twórz listę taką jak ta:
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))
Interesującą rzeczą jest piąta kolumna, która pokazuje kombinację adresu IP i portu:
*:22
nasłuchuj na porcie 22 na każdym dostępnym adresie IPv4
:::22
nasłuchuj na porcie 22 na każdym dostępnym adresie IP (nie piszę IPv6, ponieważ IP to IPv6 zgodnie z RFC 6540 )
127.0.0.1:6010
nasłuchuj na adresie IPv4 127.0.0.1 (localhost / loopback) i porcie 6010
::1:6010
nasłuchuj na adresie IP :: 1 (0: 0: 0: 0: 0: 0: 0: 1 w pełnej notacji, również localhost / loopback) i port 6010
Następnie chcesz wiedzieć, które interfejsy mają adres IPv4 (do pokrycia 1.)
ip -4 a
# or "ip -4 address"
# or "ip -4 address show"
lub adres IP (do pokrycia 2.)
ip -6 a
# or "ip -6 address
# or "ip -6 address show
(jeśli nie dodasz opcji dla adresu IP (-6
) lub IPv4 ( -4
), oba zostaną wyświetlone)
Możesz także wyglądać tak, aby wyświetlać i wyszukiwać np. 127.0.0.1
Dowolny inny adres 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
Linie zaczynające się od inet
i inet6
pokazują, że te adresy IP są powiązane z tym interfejsem, możesz mieć wiele z tych linii na interfejs:
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
i w skrypcie:
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
(zastąp „127.0.0.1”)