Jak monitorować aktywność sieciową w systemie Linux
- 1435
- 430
- Seweryn Augustyniak
Istnieje wiele powodów, dla których możesz chcieć monitorować aktywność sieciową w systemie Linux. Możesz rozwiązywać problemy z problemem sieciowym, możesz sprawdzić, czy nie ma złośliwych aplikacji tworzących podejrzaną aktywność sieciową, lub po prostu chcieć wiedzieć, czy jakiekolwiek procesy dzwonią do domu. Bez względu na powód, oto kilka metod zobaczenia, które procesy w twoim systemie są zaangażowane w aktywność sieciową i z kim się komunikuje.
W tym samouczku się nauczysz:
- Jak monitorować połączenia sieciowe i usługi słuchania za pomocą NetStat
- Jak monitorować połączenia sieciowe i usługi słuchania za pomocą LSOF
- Jak monitorować połączenia sieciowe i usługi słuchania za pomocą ifconfig
- Jakie narzędzia możesz użyć do zbadania danych wysyłanych przez sieć
Zastosowane wymagania i konwencje oprogramowania
Kategoria | Wymagania, konwencje lub wersja oprogramowania |
---|---|
System | Niezależny od rozkładu |
Oprogramowanie | Netstat, LSOF, Ifconfig, Wireshark, TCPDUMP |
Inny | Uprzywilejowany dostęp do systemu Linux jako root lub za pośrednictwem sudo Komenda. |
Konwencje | # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda$ - wymaga wykonania podanych poleceń Linux jako zwykłego użytkownika niepewnego |
Netstat
Netstat
to potężne narzędzie, które może drukować połączenia sieciowe, tabele routingu, statystyki interfejsu, połączenia maskaradowe i członkostwo multiemisji. Będziemy go używać do realizacji tego pierwszego.
Instalowanie NetStat
W systemach opartych na debian i debian, takich jak Ubuntu, użyj apt.
# apt Zainstaluj narzędzia sieciowe
W systemach Red Hat Enterprise i systemach opartych na Red Hat Użyj Yum,
# mniam instalacji narzędzi sieciowych
W systemach opartych na łuku użyj Pacmana.
# Pacman -s narzędzia netto
NOTATKA
W poniższych przykładach używamy nowej instalacji RHEL 8 działającego w VirtualBox z zainstalowanymi dodatkami gości
Zobacz procesy słuchania
Najpierw zobaczmy procesy, które słuchają połączeń. Aby to zrobić, wprowadź następujące polecenie.
$ sudo netstat -tulpen
W tym poleceniu T
wyświetlacze TCP
znajomości, u
Wyświetla połączenia UDP, L
Pokazuje tylko gniazda słuchania, P
pokazuje program, do którego należy połączenie,mi
pokazuje rozszerzone informacje i N
reprezentuje numerycznie adresy, użytkowników i porty.
Rozważając model serwera klienta, na którym opiera się większość oprogramowania sieciowego, procesy słuchania można uznać za oprogramowanie, które jest w trybie „serwera”. Nie ma nic zaskakującego w wyniku, biorąc pod uwagę naszą konfigurację. Są to wszystkie procesy, których można się spodziewać, słuchając połączeń sieciowych podczas świeżej instalacji RHEL 8 VirtualBox
.
Dla każdego procesu słuchania możesz zobaczyć używany protokół, adres lokalny i port, na którym słucha, użytkownik, który działa, oraz nazwa PID/program. Należy zwrócić uwagę na jedno ważne rozróżnienie. Dla TCP4
/UDP4
Połączenia (po prostu wymienione jako TCP
I UDP
) gdzie Lokalny adres
jest wymieniony jako 0.0.0.0
Proces polega na słuchaniu połączeń z dowolnego komputera, który jest w stanie połączyć się z nią w sieci, podczas gdy jest to wymienione jako 127.0.0.1
Słuchaj tylko połączeń w Localhost (maszyna, w której działa lub sama) i nie może być podłączona przez inne komputery w sieci. To samo rozróżnienie jest prawdziwe TCP6
/UDP6
Porównując Lokalny adres
z ::
(sieć skierowana) i :: 1
(Tylko lokalna hosta).
Wyświetl wszystkie połączenia sieciowe
Teraz spójrzmy na wszystkie bieżące połączenia sieciowe. Aby to zrobić, wpisz następujące polecenie, które jest podobne do poprzedniego, z wyjątkiem tego, że używamy -A
Aby wyświetlić wszystkie gniazda zamiast -L
po prostu przeglądać gniazda słuchania.
$ sudo netstat -atupen
Oprócz pokazania nam, jakie oprogramowanie mamy słuchanie połączeń jako „serwerów”, to polecenie pokazuje nam również aktualnie ustanowione połączenia z tym oprogramowaniem i wszelkimi ustalonymi połączeniami sieciowymi, które mamy, używając oprogramowania jako „klienta”, takiego jak przeglądarka internetowa.
Netstat -atupen WyjścieNa zrzucie ekranu zauważysz 2 połączenia w PRZYJĘTY
państwo. Po raz kolejny nie ma tu żadnych niespodzianek. Jeden z nich należy do NetworkManager i działa jako klient DHCP, aby umożliwić sieci z serwera Gateway (w tym przypadku komputer hosta). Drugie to połączenie SSH z komputerem, które zrobiliśmy po przekazaniu portu usługi SSH za pomocą VirtualBox. Czy widzieliśmy tu coś nieoczekiwanego, może to być przyczyną dalszych badań.
Zobacz ustalone połączenia
Możesz znaleźć się w sytuacji, w której chcesz tylko oglądać PRZYJĘTY
znajomości. Jest to tak proste, jak prowadzenie wyjścia Netstat do GREP.
$ sudo netstat -atupen | Grep ustanowionysudo netstat -atupen | GREP ustanowiony wyjście
Wprowadziliśmy powyższe polecenie po nawigacji na Wikipedię.com w Firefox, a zrzut ekranu przechwytuje połączenia ustalone przez Firefox podczas dotarcia do miejsca. Jak widać, istnieją cztery serwery, z którymi Firefox połączył; 91.198.174.192
, 172.217.23.100
, 216.58.215.67
, I 104.111.215.142
.
Aby zobaczyć, do kogo należą te serwery, możemy zapytać o adresy IP z takim whois.
$ WHOIS 91.198.174.192 | mniej
Także dla każdego z nich ujawnia, że należą one odpowiednio do Wikimedii, Google, Google i Akamai.
Ma to sens, biorąc pod uwagę, że Wikimedia jest właścicielem i gospodarzem Wikipedii i bardzo często witryny ładują zasoby hostowane na serwerach należących do Google i Akamai. W rzeczywistości badanie kodu źródłowego strony głównej Wikipedii ujawnia, że ładuje aplikację Google Play Store z Google.com i Apple AppStore-Badge z Apple.com.
Nawigacja na adresy URL dla tych 2 odznak aplikacji indywidualnie i wydawanie powyższego polecenia Netstat w rzeczywistości sprawdza, czy są one hostowane na serwerach odpowiednio przez Google i Akamai.
Jeśli to wywołało twoje zainteresowanie Netstat
Następnie mamy artykuł, który możesz przeczytać, aby dowiedzieć się więcej o korzystaniu z polecenia NetStat
SS
Netstat
Dowództwo od dawna jest ulubieńcem sysadminów, jednak niedawno zostało zastąpione przez SS
polecenie, które szczyci się szybszym, łatwiejszym i bardziej ludzkim niż czytelnym Netstat
. Zobaczmy, jak wykonać te same działania, które wykonano powyżej, używając SS
. SS
ma również -mi
opcja wyświetlania rozszerzonych informacji, ale ta opcja została pominięta w poniższych przykładach, ponieważ zawiera dodatkowe informacje, które mogą skutkować mniej czytelnym wyjściem.
Zobacz procesy słuchania
Aby wyświetlić wszystkie procesy słuchania, wprowadź następujące.
$ sudo ss -tlunp
W tym poleceniu T
wyświetlacze TCP
znajomości, L
Pokazuje tylko gniazda słuchania, u
Wyświetla połączenia UDP, N
reprezentuje adresy, użytkowników i porty numerycznie i P
pokazuje program, do którego należy połączenie.
Wyświetl wszystkie połączenia sieciowe
Aby wyświetlić wszystkie połączenia sieciowe, wprowadź następujące, gdzie A
zastępuje L
i pokazuje wszystkie gniazda sieciowe nie tylko słuchanie.
$ sudo ss -taunp
Zobacz ustalone połączenia
Jeśli -A
Lub -L
nie są wtedy uwzględnione SS
Wyświetli tylko ustalone połączenia. Aby wyświetlić tylko ustalone połączenia, wprowadź następujące.
$ sudo ss -tunp
lsof
W razie czego Netstat
I SS
Prezentujemy, że nie wystarczyło lsof
. Lsof
służy do wymienienia otwartych plików. GNU/Linux odziedziczył zasadę projektowania UNIX, że wszystko jest plik; Obejmuje to połączenia sieciowe. W rezultacie, lsof
może być używane do przeglądania aktywności sieciowej w sposób podobny do wyżej wymienionych poleceń.
Wyświetl wszystkie połączenia sieciowe
Aby wyświetlić wszystkie połączenia sieciowe, wprowadź następujące.
$ sudo lsof -np -i
W tym poleceniu N
reprezentuje adresy numerycznie, P
reprezentuje porty numeryczne i I
tłumi listę otwartych plików, które nie są uważane za pliki sieciowe.
Zobacz ustalone połączenia
Aby wyświetlić tylko ustalone połączenia, wprowadź następujące, w których wymieniono dodatkowe przełączniki, wszystkie ustanowione TCP
znajomości.
$ sudo lsof -np -itcp -stcp: ustalone
Zobacz procesy słuchania
Aby wyświetlić procesy słuchania za pomocą lsof
Wprowadź następujące.
$ sudo lsof -np -itcp -stcp: słuchaj
Będzie to pominąć wszelkie procesy, które słuchają przez UDP, więc może być pożądane, aby wprowadzić następujące, aby je również dołączyć.
$ sudo lsof -np -i | grep 'słuchaj \ | Udp'
Monitorowanie danych wysyłanych przez sieć
Widzieliśmy, jak Netstat
, SS
, I ifconfig
może być używane do monitorowania, jakie połączenia sieciowe są tworzone i komu, ale często pożądane jest, aby dokładnie zobaczyć, jakie dane są wysyłane przez sieć. Aby osiągnąć ten cel, potrzebujemy aplikacji zdolnych do wąchania pakietu. Dwa programy specjalizujące się w tym obszarze to TCPDUMP
I Wireshark
.
Wcześniej napisaliśmy przewodniki o tym, jak zainstalować Wireshark na RHEL 8, podstawy protokołu sieciowego Wir i Monitorowanie sieci
Sekcja systemu Linux i monitorowanie sprzętu Wydajne obejmuje miłe wprowadzenie do TCPDUMP
.
Wniosek
W tym artykule omówiliśmy, jak przeglądać procesy słuchania, ustalone połączenia i wszystkie połączenia sieciowe za pomocą Netstat
, SS
, I ifconfig
. Następnie wprowadziliśmy narzędzia do zbadania rzeczywistych danych przesyłanych przez sieć i powiązanych z wielkimi zasobami, które są nieocenione w odkrywaniu ich używania.
Powiązane samouczki Linux:
- Rzeczy do zainstalowania na Ubuntu 20.04
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
- Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
- Rzeczy do zrobienia po zainstalowaniu Ubuntu 22.04 JAMMY Jellyfish…
- Hung Linux System? Jak uciec do wiersza poleceń i…
- Rzeczy do zainstalowania na Ubuntu 22.04
- Zainstaluj Arch Linux na stacji roboczej VMware
- Jak podwójnie rozruch Kali Linux i Windows 10
- Ubuntu 20.04 Przewodnik
- Pobierz Linux
- « Jak używać Nginx do przekierowania całego ruchu z HTTP do HTTPS
- Najlepsze gry terminalowe w Linux »