poradniki
Sieć w terminalu: Jak sprawdzić IP, otwarte porty i testować połączenie?
Zrozumienie, jak zarządzać siecią z poziomu terminala, to kluczowa umiejętność dla każdego administratora, programisty czy pasjonata Raspberry Pi. W tym artykule zebraliśmy najważniejsze polecenia Linux, które pomogą Ci błyskawicznie zdiagnozować problemy z połączeniem.
1. Zarządzanie adresacją i routingiem (Warstwa 3)
Zamiast prostego sprawdzenia adresu, zaawansowani użytkownicy analizują statystyki błędów i tabele routingu dla konkretnych polityk.
- Statystyki błędów ramek i pakietów:
ip -s -s link show eth0– podwójna flaga-spokazuje szczegółowe liczniki błędów (dropped, overruns, carrier errors). - Diagnostyka wyboru trasy:
ip route get 8.8.8.8– pozwala sprawdzić, przez który interfejs, bramę i z jakim adresem źródłowym (src) system wyśle pakiet do celu. - Monitorowanie zmian w czasie rzeczywistym:
ip monitor all– uruchamia nasłuch na zdarzenia sieciowe (zmiany stanów interfejsów, nowe wpisy ARP, zmiany tras).
2. Głęboka analiza gniazd za pomocą ss
Polecenie ss (Socket Statistics) pozwala na bezpośrednie odpytywanie jądra o stan TCP/UDP, co jest kluczowe przy analizie wydajności serwera.
- Filtrowanie po stanie TCP:
ss -t state established– wyświetla tylko aktywne połączenia. - Identyfikacja wąskich gardeł (Memory Usage):
ss -tm– pokazuje użycie pamięci przez konkretne gniazda TCP. - Filtrowanie zaawansowane (BPF-like syntax):
ss -t '( dport = :http or dport = :https )'– wyświetla ruch tylko dla konkretnych usług.
3. Diagnostyka DNS i analiza ścieżki
Standardowy ping to często za mało, by wykryć fluktuacje na trasie lub problemy z propagacją DNS.
- MTR (My Traceroute):
mtr --report-wide google.com– łączy ping i traceroute, generując statystyki strat pakietów na każdym węźle (hop). - Śledzenie rekurencji DNS:
dig +trace blog.example.com– przechodzi przez całą ścieżkę od serwerów root, przez TLD, aż do autorytatywnych serwerów nazw.
4. Przechwytywanie pakietów: tcpdump
Dla administratorów debugujących protokoły aplikacyjne, tcpdump jest narzędziem ostatecznym.
Wyłapywanie flag TCP (np. tylko pakiety SYN):
sudo tcpdump -i eth0 'tcp[tcpflags] & (tcp-syn) != 0'
Zapis do pliku pcap dla Wireshark:
sudo tcpdump -i any -w capture_file.pcap port 80
Tabela podsumowująca
| Zadanie | Polecenie | Zastosowanie zaawansowane |
|---|---|---|
| Analiza ARP | ip neigh |
Sprawdzanie konfliktów MAC w sieci lokalnej. |
| Testowanie portu | nc -zv [ip] [port] |
Szybki skan bez overheadu nmapa. |
| Przepustowość | iperf3 |
Pomiar realnej wydajności między dwoma punktami. |
| Analiza ruchu | iftop |
Podgląd „top” dla procesów generujących ruch sieciowy. |
