Monitoring

Materiały edukacyjne z informatyki

Uwaga: większość z omawianych tu poleceń wymaga uprawnień administratora, w systemie Ubuntu polecenia poprzedzamy sudo, w Debianie przechodzimy na konto rootai uzywamy czystych poleceń lub konfigurujemy sudo.

Zarządzanie usługami

W systemach Ubuntu, Debian:

  • sudo service dansmasq start [restart, stop]
  • sudo service squid3 start [restart, stop]
  • sudo service dansguardian start [restart, stop]

Można też używać skryptu invoke-rc.d lub wywoływać ręcznie skrypty z katalogu /etc/init.d.

Logi

  • sudo tail -f /var/log/squid/iptables.log
  • sudo tail -f /var/log/squid/access.log
  • sudo tail -f /var/log/dansguardian/access.log
  • sudo tail -f /var/log/squid/syslog
  • cat /var/misc/dnsmasq.leases - podgląd dzierżaw DHCP

Zamiast śledzenia logów (tail -f), można wyświetlić koniec logu: sudo tail -n100 /var/log/..., cały log podglądniemy używając polecenia cat: cat /var/log/.... Możemy też przeszukać log i wyświetlić tylko linie zawierające interesujące nas słowo: cat /var/log/syslog | grep error.

Narzędzia

Podstawowe

  • ps -ef [-eF, axf, aux] - wyświetlenie procesów w różnych formatach
  • lsof -i -n -P - wyświetlenie połączeń sieciowych
  • netstat -tuap - wyświetlenie połączeń sieciowych
  • vmstat 5 - wyświetlanie statystyk użycia pamięci, przestrzeni wymiany itd. w odstępach 5-sekundowych

Zaawansowane

Przedstawione poniżej narzędzia wymagają znajomości zagadnień funkcjonownia sieci, m. in. wiedzy na temat wykorzystywanych protokołów (model TCP/IP), pojęć (np. pakiet, gniazdo, port) i technik (np. skanowanie portów, przechwytywanie pakietów) itp. Co do zasady należy uruchamiać je z uprawnieniami administratora, czyli w Ubuntu Server przez sudo, w Debianie jako root. Instalacja:

sudo apt-get install iptraf vnstat tcpdump tshark nmap

Iptraf

Narzędzie pokazujące ruch i statystyki na wybranych interfejsach.

Vnstat

Usługa mierząca ruch sieciowy, wyświetla różnego rodzaju statystyki pozwalające ocenić stopień użycia łącza, np. vnstat -h[-d|-w|-m] - statystyki godzinne, dzienne, tygodniowe, miesięczne.

Tcpdump

Pozwala przechwytywać i analizaować pakiety sieciowe. Bardzo przydatny w rozwiązywani problemów z niedziałajacymi usługami sieciowymi.

  • tcpdump -D - lista interfejsów
  • tcpdump [-A] -i eth1 tcp port 80 [-w plik] - nasłuchiwanie na wskazanym interfejsie pakietów http, opcja -A pokaże zawartość pakietów, opcja -w plik zapisuje pakiety do pliku, z którego można je później wczytać (-r), plik taki może być również analizowany w programie Wireshark.
  • tcpdump -i eth1 host mojhost and mojserwer - śledzenie ruchu między wskazanymi hostami
  • tcpdump -i eth1 src 192.168.1.2 and tcp dst port 80 - logowanie pakietów z podanego hosta kierowanych na port 80
  • tcpdump -i eth1 src 192.168.1.2 and dst port 80 and tcp\[13\] == 2
  • sudo tcpdump -i eth1 src 192.168.1.2 and dst port 80 and tcp\[tcpflags\]=tcp-syn - przechwytywanie pakietów z ustawioną flagą SYN, poprzedni przykład prezentuje możliwość badania wskazanych bitów w nagłówkach warstwy tcp
  • tcpdump -i eth1 -w zrzut.dmp \(tcp or udp\) and \(dst port 137 or dst port 138 or dst port 139\) - logowanie, tym razem do pliku (-w plik) pakietów NetBIOS
  • tcpdump -i eth1 icmp - logowanie komunikacji protokołu icmp
  • tcpdump -i eth1 icmp[0]=0 - logowanie tylko komunikatów echo replay
  • -v, -vv, -vvv - przełączniki zwiększające szczegółowość informacji logowanych przez tcpdump
  • -xX - pokazywanie zawartości pakietu w formacie heksadecymalnym

Tshark

TShark - czyli konsolowa wersja programu Wireshark. Narzędzie podobne do tcpdump, ale przyjaźniejsze, jeśli chodzi o analizowanie przechwyconych danych.

  • tshark -D - lista interfejsów
  • tshark -i eth1 tcp port 80 and host 192.168.1.4 - nasłuchiwanie na wskazanym interfejsie pakietów http od wskazanego hosta

W Ubuntu Server po instalacji TSharka można umożliwić uruchamianie go z konta zwykłego użytkownika. W tym celu wydajemy następujące polecenia:

  sudo groupadd wireshark
  sudo usermod -a -G wireshark nasz_user
  sudo dpkg-statoverride --add root wireshark 750 /usr/bin/dumpcap
  sudo chgrp wireshark /usr/bin/dumpcap
  sudo chmod 750 /usr/bin/dumpcap #ewentualnie
  sudo setcap CAP_NET_RAW,CAP_NET_ADMIN,CAP_DAC_OVERRIDE+eip /usr/bin/dumpcap

Po przelogowaniu się nasz_user może uruchamiać TSharka bez sudo.

Nmap

Bardzo przydatny w sieci lokalnej skaner otwartych portów czy uruchomionych usług.

  • nmap -v -sT localhost [192.168.1.0/24] - wykrywanie otwartych portów na lokalnym hoście albo w całej sieci
  • Inne opcje: -v -sS - skanowanie TCP SYN; -v -sF - skanowanie TCP FIN; -v -O - skanowanie UDP; -v -sR - skanowanie TCP RPC

 

Na skróty
Kontakt