Sockstat to wszechstronne narzędzie wiersza poleceń, które jest zawarte w FreeBSD. Widzi ogromne zastosowanie w badaniu połączeń sieciowych i otwartych gniazd. W FreeBSD wymienia nazwy i status procesów tła i pierwszego planu, które spowodowały odblokowanie portu sieciowego. Możesz nawet dostosować go, aby zorganizować listy gniazd komunikacyjnych na statusie połączenia, wersje IP, jakie porty są słuchane przez określone programy itp., i uproszcz wyniki na podstawie własności gniazda i deskryptorów dla gniazd komunikacyjnych. Dzięki Sockstat możesz również zobaczyć wszystkie skomplikowane szczegóły na każdym z gniazd domeny Unix/IPC. Trafnym ruchem jest zintegrowanie sockstat z filtrem GREP, aby potroić jego funkcjonalność i jak najlepiej z niego wykorzystać.
Spójrzmy na niektóre z schludnych rzeczy, które możemy wykonać z Sockstat na FreeBsd.
Wymień porty robocze na FreeBSD z sockstat
Polecenie Sockstat wymienia wszystkie gniazda, które są obecnie otwarte w systemie FreeBSD. Wpisz polecenie sockstat niezgodne z dowolną flagami lub opcjami, aby zobaczyć listę otwartych gniazd:
$ sockstat
Poświęćmy chwilę i przejrzyjmy, co oznacza każda z kolumny w wyjściu. Pierwsza kolumna z lewej jest oznaczona przez użytkowników i wymienia wszystkie konta użytkowników (korzenie, mysql), do których należy każde gniazdo. Drugi nagłówek kolumny to polecenie, a ten nagłówek kolumny zawiera wszystkie polecenia, które ustawiły każde gniazdo do otwarcia. Kolumna PID i kolumny FD wymieniają odpowiednio identyfikatory procesów i plików. Kolumna nagłówkowa Proto wyświetla wszystkie protokoły transportowe typów gniazd połączonych z każdym otwartym portem. Dwie ostatnie kolumny to adres lokalny i adres zagraniczny. Pierwszy z tych dwóch list lokalny adres IP dla każdego otwartego gniazda. Podczas gdy ten ostatni wskazuje, jakie adresy IP są powiązane z każdym z tych gniazd.
Wymień określone wersje otwartych portów w FreeBSD
Aby wymienić otwarte gniazda tylko z określoną wersją protokołu, na przykład wersji IPv4, dodaj flagę -4 na końcu polecenia Sockstat:
$ sockstat -4
Możesz także zaprezentować na przykład listę innych wersji, na przykład
$ sockstat -6
Powinien wyświetlić wszystkie gniazda z IPv6.
Wymień otwarte gniazda na podstawie TCP/UDP w FreeBSD
Dodaj flagę -P do polecenia sockstat, aby mieć listę otwartych gniazd na podstawie TCP lub UDP. Będziesz także musiał dodać nazwę argumentu protokołu do polecenia, którą możesz sprawdzić, przechodząc do pliku /etc /protokoły i sprawdzając tam plik. Aby mieć tylko gniazda oparte na TCP, wpisz następujące polecenie:
$ sockstat -p tcp
Podobnie możesz krótko literować na podstawie UDP:
$ sockstat -p udp
Te dwa mogą być połączone bardzo po prostu:
$ sockstat -p tcp, udp
Jak dotąd Sockstat nie rozszerza swojego wsparcia na protokół ICMP.
Wyświetl gniazda o określonych numerach portów
Aby zobaczyć wszystkie otwarte gniazda, zarówno TCP, jak i UDP, jednocześnie zorganizowane na liście na podstawie numerów portów (zarówno lokalnych, jak i innych), wpisz polecenie sockstat z odpowiednimi flagami:
$ sockstat -p tcp -p 443
$ sockstat -p UDP -p 53
$ sockstat -p tcp -p 443,53,80,21
W powyższych poleceniach pierwszy pokazuje port TCP HTTPS, drugi Ports UDP DNS, a trzeci.
Zobacz otwarte porty słuchane na FreeBSD
Z Flagą -L dodaną do polecenia sockstat, otrzymasz otwarte gniazdo, które obecnie słucha przez Protocol Suite i wszystkie otwarte gniazda domeny Unix, a także wszelkie nazwane rury.
$ sockstat -l
Wymień porty aktywnie słuchające w sieci
Dodaj flagi -l i -s do polecenia sockstat, aby otwarte porty TCP ułożone według statusu słuchania.
$ sockstat -46 -l -s
UDP nie może być wyświetlany jako protokół poza sieci, w ten sposób nie zachowując danych na temat statusu słuchania.
Ułóż otwarte porty według aplikacji/polecenia za pomocą ich
Oto część, w której przydaje się połączenie polecenia sockstat z użytecznością GREP; Dzięki narzędzia GREP możesz mieć otwarte porty wymienione przez aplikacje obecnie w procesie ich używania.
Polecenie, których użyjesz do wyświetlania otwartych portów połączonych szczególnie z serwerem NTPD, to:
$ sockstat -46 | grep ntpd
Możesz uczynić listę bardziej szczegółową, aby wyświetlać tylko podłączone gniazda, dodając flagę -C do powyższego polecenia:
$ sockstat -46 -C | grep ntpd
Wyświetl wszystkie gniazda Unix
Mieć wszystkie gniazda domeny unix wymienione przez dodanie U- flaga do polecenia sockstat:
$ sockstat -u
Powinno to również wyświetlać nazwane rury wraz z gniazdkami UNIX.
Ułóż otwarte porty według protokołów podłączonych HTTPS
Aby lista wyświetlona przez protokół HTTPS dla każdego gniazda, użyj poniższego polecenia:
$ sockstat -46 -s -p tcp -p 443 -c
Wymień zdalne gniazda HTTP
Możesz także wymienić wszystkie zdalne gniazda obecnie korzystające z protokołu HTTP. Uruchom jedno z następujących poleceń w terminalu:
$ sockstat -46 -C | Egrep '80 | 443 '| awk 'drukuj 7 $' | uniq -c | sort -nr
$ sockstat -46 -C -p 80,443 | GREP -V Adres | awk 'drukuj 7 $' |
uniq -c | sort -nr
Znajdź liczbę przypadków wysyłania żądań adresu IP
Aby dowiedzieć się, ile żądań połączenia zostało odebranych z każdego adresu IP, możesz uruchomić następujące polecenie:
$ sockstat -46 -C | Egrep '80 | 443 '| awk 'drukuj 7 $' | CUT -D: -f1 | uniq -c | sort -n
Określając, czy istnieje niezwykle duża liczba żądań połączenia wysyłanych przez adres IP, możesz określić, że istnieje pewne złośliwe zamiary i pozytywnie wprowadzić żółte alert i wziąć odpowiednie protokoły bezpieczeństwa.
Wyślij zapytanie DNS z gniazda TCP
Możesz wysłać zapytanie DNS za pomocą gniazda TCP na konsoli, pod warunkiem, że sieć jest wolna od ruchu DNS. Uruchom polecenie poniżej:
$ dig +tcp www.domena.com @127.0.0.1
Owinięcie
Dlatego wiele się nauczyłeś o korzystaniu z polecenia sockstat i jego odmian z flagami i przełącznikami. Widziałeś także, w jaki sposób jest używany na różne sposoby do prezentacji diagnostyki sieci w różnych preferencjach i wykorzystania tych informacji do wykonywania wieloaspektowego rozwiązywania problemów w FreeBSD. To bardzo samo w sobie, ale teraz, gdy znasz te rzeczy, powinieneś rozważyć włączenie wiersza poleceń Sockstat z potężnymi narzędziami wiersza poleceń, takimi jak NetStat i ISOF.