tcpdump

Przewodnik dla początkujących TCPDUMP

Przewodnik dla początkujących TCPDUMP
Tcpdump to darmowy i otwarty analizator pakietów bezprzewodowej sieci danych, który działa w interfejsie wiersza poleceń. Jest to najczęściej używane narzędzie CLI do analizy ruchu sieciowego. Tcpdump umożliwia użytkownikom przeglądanie, odczytywanie lub przechwytywanie ruchu sieciowego przesyłanego przez sieć podłączoną do komputera. Przydaje się w administrowaniu systemem, monitorowaniu ruchu sieciowego (w przypadku problemów lub w inny sposób).

Pierwotnie został napisany w 1988 roku przez czterech pracowników Network Research Group w Lawrence Berkeley Laboratory w Kalifornii. Została zorganizowana jedenaście lat później przez Micheala Richardsona i Billa Fennera w 1999 roku, którzy stworzyli stronę tcpdump. Tcpdump działa na wszystkich uniksopodobnych systemach operacyjnych. Wersja Tcpdump dla systemu Windows nazywa się WinDump i używa WinPcap, alternatywy dla systemu Windows dla libpcap.

Użyj przystawki, aby zainstalować tcpdump:

$ sudo snap zainstalować tcpdump

Użyj swojego menedżera pakietów, aby zainstalować tcpdump:

$ sudo apt-get install tcpdump (Debian/Ubuntu)
$ sudo dnf zainstaluj tcpdump (CentOS/RHEL 6&7)
$ sudo yum zainstaluj tcpdump (Fedora/CentOS/RHEL 8)

Zobaczmy różne zastosowania i wyniki, gdy będziemy badać tcpdump!

UDP

Tcpdump może również zrzucać pakiety UDP. Użyjemy narzędzia netcat (nc), aby wysłać pakiet UDP, a następnie go zrzucić.

$ echo -n "tcpdumper" | nc -w 1 -u localhost 1337

W powyższym poleceniu wysyłamy pakiet UDP składający się z napisu „tcpdumper” do portu UDP 1337 przez Lokalny Gospodarz. Tcpdump przechwytuje pakiet wysyłany przez port UDP 1337 i wyświetla go.

Teraz zrzucimy ten pakiet za pomocą tcpdump.

$ sudo tcpdump -i lo port udp 1337 -vvv -X

To polecenie przechwyci i wyświetli przechwycone dane z pakietów w ASCII, a także w postaci szesnastkowej.

tcpdump: nasłuchiwanie na lo, link-type EN10MB (Ethernet), długość migawki 262144 bajtów
04:39:39.072802 IP (tos 0x0, ttl 64, id 32650, offset 0, flagi [DF], proto UDP (17), długość 37)
Lokalny Gospodarz.54574 > lokalny host.1337: [nieprawidłowa suma udp cks 0xfe24 -> 0xeac6!] UDP, długość 9
0x0000: 4500 0025 7f8a 4000 4011 bd3b 7f00 0001 E… %… @.@… ;…
0x0010: 7f00 0001 d52e 0539 0011 fe24 7463 7064… 9… $tcpd
0x0020: 756d 7065 72 umper

Jak widać, pakiet został wysłany na port 1337, a jego długość to 9 jako ciąg tcpdumper ma 9 bajtów. Widzimy również, że pakiet został wyświetlony w formacie szesnastkowym.

DHCP

Tcpdump może również przeprowadzać badania pakietów DHCP w sieci. DHCP używa portu UDP nr 67 lub 68, więc zdefiniujemy i ograniczymy tcpdump tylko dla pakietów DHCP. Załóżmy, że korzystamy z interfejsu sieci Wi-Fi.
Użyte tutaj polecenie to:

$ sudo tcpdump -i wlan0 port 67 lub port 68 -e -n -vvv
tcpdump: nasłuch na wlan0, link-type EN10MB (Ethernet), długość migawki 262144 bajtów
03:52:04.004356 00:11:22:33:44:55 > 00:11:22:33:44:66, ethertype IPv4 (0x0800), długość 342: (tos 0x0, ttl 64, id 39781, offset 0, flagi [DF ], proto UDP (17), długość 328)
192.168.10.21.68 > 192.168.10.1.67: [suma udp ok] BOOTP/DHCP, Żądanie od 00:11:22:33:44:55, długość 300, xid 0xfeab2d67, Flagi [brak] (0x0000)
Klient-IP 192.168.10.16
Klient-Ethernet-Adres 00:11:22:33:44:55
Rozszerzenia dostawcy-rfc1048
Magiczne Ciastko 0x63825363
Komunikat DHCP (53), długość 1: Wydanie
Identyfikator serwera (54), długość 4: 192.168.10.1
Nazwa hosta (12), długość 6: „papuga”
KONIEC (255), długość 0
PAD (0), długość 0, występuje 42

DNS

DNS, znany również jako system nazw domen, potwierdza, że ​​dostarcza ci to, czego szukasz, dopasowując nazwę domeny do adresu domeny. Aby sprawdzić komunikację na poziomie DNS urządzenia przez Internet, możesz użyć tcpdump w następujący sposób. DNS używa portu UDP 53 do komunikacji.

$ sudo tcpdump -i wlan0 port udp 53
tcpdump: nasłuch na wlan0, link-type EN10MB (Ethernet), długość migawki 262144 bajtów
04:23:48.516616 IP (tos 0x0, ttl 64, id 31445, offset 0, flagi [DF], proto UDP (17), długość 72)
192.168.10.16.45899 > jeden.jeden.jeden.jeden.domena: [suma udp ok] 20852+ A? mozilla.cloudflare-dns.com. (44)
04:23:48.551556 IP (tos 0x0, ttl 60, id 56385, offset 0, flagi [DF], proto UDP (17), długość 104)
jeden.jeden.jeden.jeden.domena > 192.168.10.16.45899: [suma udp ok] 20852 q: A? mozilla.cloudflare-dns.com. Mozilla 2/0/0.cloudflare-dns.com. [24s] A 104.16.249.249, mozilla.cloudflare-dns.com. [24s] A 104.16.248.249 (76)
04:23:48.648477 IP (tos 0x0, ttl 64, id 31446, offset 0, flagi [DF], proto UDP (17), długość 66)
192.168.10.16.34043 > jeden.jeden.jeden.jeden.domena: [suma udp ok] 40757+ PTR? 1.1.1.1.w adresie.arpa. (38)
04:23:48.688731 IP (tos 0x0, ttl 60, id 56387, offset 0, flagi [DF], proto UDP (17), długość 95)
jeden.jeden.jeden.jeden.domena > 192.168.10.16.34043: [suma udp ok] 40757 q: PTR? 1.1.1.1.w adresie.arpa. 1/0/0 1.1.1.1.w adresie.arpa. [26m53s] PTR jeden.jeden.jeden.jeden. (67)

ARP

Protokół rozpoznawania adresów służy do wykrywania adresu warstwy łącza, takiego jak adres MAC. Jest powiązany z danym adresem warstwy internetowej, zazwyczaj adresem IPv4.

Używamy tcpdump do przechwytywania i odczytywania danych przenoszonych w pakietach arp. Polecenie jest tak proste, jak:

$ sudo tcpdump -i wlan0 arp -vvv
tcpdump: nasłuch na wlan0, link-type EN10MB (Ethernet), długość migawki 262144 bajtów
03:44:12.023668 ARP, Ethernet (len 6), IPv4 (len 4), Zapytanie kto ma 192.168.10.1 powiedz 192.168.10.2, długość 28
03:44:17.140259 ARP, Ethernet (len 6), IPv4 (len 4), zapytanie kto ma 192.168.10.21 powiedz 192.168.10.1, długość 28
03:44:17.140276 ARP, Ethernet (len 6), IPv4 (len 4), odpowiedź 192.168.10.21 jest o 00:11:22:33:44:55 (oui nieznany), długość 28
03:44:42.026393 ARP, Ethernet (len 6), IPv4 (len 4), Zapytanie kto ma 192.168.10.1 powiedz 192.168.10.2, długość 28

ICMP

ICMP, znany również jako Internet Control Message Protocol, jest protokołem pomocniczym w pakiecie protokołów internetowych. ICMP jest używany jako protokół informacyjny.

Aby wyświetlić wszystkie pakiety ICMP na interfejsie, możemy użyć tego polecenia:

$ sudo tcpdump icmp -vvv
tcpdump: nasłuch na wlan0, link-type EN10MB (Ethernet), długość migawki 262144 bajtów
04:26:42.123902 IP (tos 0x0, ttl 64, id 14831, offset 0, flagi [DF], proto ICMP (1), długość 84)
192.168.10.16 > 192.168.10.1: żądanie echa ICMP, id 47363, seq 1, długość 64
04:26:42.128429 IP (tos 0x0, ttl 64, id 32915, offset 0, flagi [brak], proto ICMP (1), długość 84)
192.168.10.1 > 192.168.10.16: odpowiedź echa ICMP, id 47363, sekw. 1, długość 64
04:26:43.125599 IP (tos 0x0, ttl 64, id 14888, offset 0, flagi [DF], proto ICMP (1), długość 84)
192.168.10.16 > 192.168.10.1: żądanie echa ICMP, id 47363, seq 2, długość 64
04:26:43.128055 IP (tos 0x0, ttl 64, id 32916, offset 0, flagi [brak], proto ICMP (1), długość 84)
192.168.10.1 > 192.168.10.16: odpowiedź echa ICMP, id 47363, sekw. 2, długość 64

NTP

NTP to protokół sieciowy zaprojektowany specjalnie do synchronizacji czasu w sieci maszyn. Aby przechwytywać ruch na ntp:

$ sudo tcpdump port dst 123
04:31:05.547856 IP (tos 0x0, ttl 64, id 34474, offset 0, flagi [DF], proto UDP (17), długość 76)
192.168.10.16.ntp > czas-b-wwv.Nist.rząd.ntp: [udp sum ok] NTPv4, Klient, długość 48
Wskaźnik przeskoku: niezsynchronizowany zegar (192), warstwa 0 (nieokreślona), sonda 3 (8s), precyzja -6
Opóźnienie korzenia: 1.000000, dyspersja korzeni: 1.000000, identyfikator referencyjny: (nieokreślony)
Znacznik czasu odniesienia: 0.00000000
Znacznik czasu twórcy: 0.00000000
Odbierz znacznik czasu: 0.00000000
Znacznik czasu transmisji: 3825358265.547764155 (2021-03-21T23:31:05Z)
Zleceniodawca - Znacznik czasu odbioru: 0.00000000
Inicjator — znacznik czasu transmisji: 3825358265.547764155 (2021-03-21T23:31:05Z)
04:31:05.841696 IP (tos 0x0, ttl 56, id 234, offset 0, flagi [brak], proto UDP (17), długość 76)
czas-b-wwv.Nist.rząd.ntp > 192.168.10.16.ntp: [udp sum ok] NTPv3, serwer, długość 48
Wskaźnik przeskoku: (0), Warstwa 1 (podstawowa referencja), ankieta 13 (8192s), precyzja -29
Opóźnienie korzenia: 0.000244, dyspersja korzeni: 0.000488, identyfikator referencyjny: NIST
Znacznik czasu odniesienia: 3825358208.00000000 (2021-03-21T23:30:08Z)
Znacznik czasu twórcy: 3825358265.547764155 (2021-03-21T23:31:05Z)
Odbierz sygnaturę czasową: 3825358275.028660181 (2021-03-21T23:31:15Z)
Znacznik czasu transmisji: 3825358275.028661296 (2021-03-21T23:31:15Z)
Zleceniodawca - Znacznik czasu odbioru: +9.480896026
Inicjator - Znacznik czasu transmisji: +9.480897141

SMTP

Protokół SMTP lub Simple Mail Transfer Protocol jest używany głównie do e-maili. Tcpdump może to wykorzystać do wyodrębnienia przydatnych informacji e-mail. Na przykład, aby wyodrębnić odbiorców/nadawcę wiadomości e-mail:

$ sudo tcpdump -n -l port 25 | grep -i 'POCZTA OD\|RCPT DO'

IPv6

IPv6 to „następna generacja” IP, zapewniająca szeroki zakres adresów IP. IPv6 pomaga osiągnąć długoterminową kondycję Internetu.

Aby przechwycić ruch IPv6, użyj filtra ip6 określającego protokoły TCP i UDP za pomocą proto 6 i proto-17.

$ sudo tcpdump -n -i dowolny ip6 -vvv
tcpdump: typ łącza danych LINUX_SLL2
tcpdump: nasłuchiwanie na dowolnym, LINUX_SLL2 typu łącza (Linux gotowane v2), długość migawki 262144 bajtów
04:34:31.847359 lo In IP6 (flowlabel 0xc7cb6, hlim 64, next-header UDP (17) długość ładunku: 40) ::1.49395 > ::1.49395: [zła suma cks udp 0x003b -> 0x3587!] UDP, długość 32
04:34:31.859082 lo In IP6 (flowlabel 0xc7cb6, hlim 64, next-header UDP (17) długość ładunku: 32) ::1.49395 > ::1.49395: [nieprawidłowa suma udp 0x0033 -> 0xeaef!] UDP, długość 24
04:34:31.860361 lo In IP6 (flowlabel 0xc7cb6, hlim 64, next-header UDP (17) długość ładunku: 40) ::1.49395 > ::1.49395: [zła suma cks udp 0x003b -> 0x7267!] UDP, długość 32
04:34:31.871100 lo In IP6 (flowlabel 0xc7cb6, hlim 64, next-header UDP (17) długość ładunku: 944) ::1.49395 > ::1.49395: [zła suma cks udp 0x03c3 -> 0xf890!] UDP, długość 936
4 pakiety przechwycone
12 pakietów odebranych przez filtr
0 pakietów porzuconych przez jądro

'-c 4' zapewnia liczbę pakietów do 4 pakietów. Możemy określić liczbę pakietów do n i przechwycić n pakietów.

HTTP

Hypertext Transfer Protocol służy do przesyłania danych z serwera internetowego do przeglądarki w celu przeglądania stron internetowych. HTTP używa komunikacji w formie TCP TCP. W szczególności używany jest port TCP 80.

Aby wydrukować wszystkie pakiety IPv4 HTTP do iz portu 80:

tcpdump: nasłuch na wlan0, link-type EN10MB (Ethernet), długość migawki 262144 bajtów
03:36:00.602104 IP (tos 0x0, ttl 64, id 722, offset 0, flagi [DF], proto TCP (6), długość 60)
192.168.10.21.33586 > 192.168.10.1.http: Flags [S], cksum 0xa22b (poprawne), seq 2736960993, win 64240, opcje [mss 1460,sackOK,TS val 389882294 ecr 0,nop,wscale 10], długość 0
03:36:00.604830 IP (tos 0x0, ttl 64, id 0, offset 0, flagi [DF], proto TCP (6), długość 60)
192.168.10.1.http > 192.168.10.21.33586: Flagi [S.], cksum 0x2dcc (poprawne), seq 4089727666, ack 2736960994, win 14480, opcje [mss 1460,sackOK,TS val 30996070 ecr 389882294,nop,wscale 3], długość 0
03:36:00.604893 IP (tos 0x0, ttl 64, id 723, offset 0, flagi [DF], proto TCP (6), długość 52)
192.168.10.21.33586 > 192.168.10.1.http: Flagi [.], cksum 0x94e2 (poprawne), seq 1, ack 1, win 63, opcje [nop,nop,TS val 389882297 ecr 30996070], długość 0
03:36:00.605054 IP (tos 0x0, ttl 64, id 724, offset 0, flagi [DF], proto TCP (6), długość 481)

Żądania HTTP…

192.168.10.21.33586 > 192.168.10.1.http: Flagi [P.], cksum 0x9e5d (poprawna), seq 1:430, ack 1, win 63, options [nop,nop,TS val 389882297 ecr 30996070], długość 429: HTTP, długość: 429
POBIERZ / HTTP/1.1
Gospodarz: 192.168.10.1
Klient użytkownika: Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0
Akceptuj: text/html,application/xhtml+xml,application/xml;q=0.9,obraz/strona internetowa,*/*;q=0.8
Akceptuj-Język: en-US,en;q=0.5
Akceptuj-kodowanie: gzip, deflate
DNT: 1
Połączenie: utrzymuj przy życiu
Plik cookie: _TESTCOOKIESUPPORT=1; SID=c7ccfa31cfe06065717d24fb544a5cd588760f0cdc5ae2739e746f84c469b5fd
Żądania aktualizacji-niezabezpieczone-żądania: 1

Przechwytywane są też odpowiedzi

192.168.10.1.http > 192.168.10.21.33586: Flagi [P.], cksum 0x84f8 (poprawne), seq 1:523, ack 430, win 1944, opcje [nop,nop,TS val 30996179 ecr 389882297], długość 522: HTTP, długość: 522
HTTP/1.1 200 OK
Serwer: serwer WWW ZTE 1.0 Korpus ZTE 2015.
Zakresy akceptacji: bajty
Połączenie: zamknij
X-Frame-Opcje: SAMEORIGIN
Kontrola pamięci podręcznej: bez pamięci podręcznej, bez sklepu;
Długość treści: 138098
Set-Cookie: _TESTCOOKIESUPPORT=1; ŚCIEŻKA=/; Tylko HTTP
Content-Type: text/html; charset=utf-8
X-Content-Type-Options: nosniff
Content-Security-Policy: frame-ancestors 'self' 'unsafe-inline' 'unsafe-eval';img-src 'self' data:;
X-XSS-Ochrona: 1; tryb=blok
Set-Cookie: SID=;expires=Czw, 01-Jan-1970 00:00:00 GMT;path=/; Tylko HTTP

TCP

Aby przechwycić pakiety tylko TCP, to polecenie zrobi wszystko dobrze:

$ sudo tcpdump -i wlan0 tcp
tcpdump: nasłuch na wlan0, link-type EN10MB (Ethernet), długość migawki 262144 bajtów
04:35:48.892037 IP (tos 0x0, ttl 60, id 23987, offset 0, flagi [brak], proto TCP (6), długość 104)
tl-w-f189.1e100.netto.https > 192.168.10.16.50272: Flagi [P.], cksum 0xc924 (poprawna), seq 1377740065:1377740117, ack 1546363399, win 300, opcje [nop,nop,TS val 13149401 ecr 3051434098], długość 52
04:35:48.892080 IP (tos 0x0, ttl 64, id 20577, offset 0, flagi [DF], proto TCP (6), długość 52)
192.168.10.16.50272 > tl-w-f189.1e100.netto.https: Flagi [.], cksum 0xf898 (poprawne), seq 1, ack 52, win 63, opcje [nop,nop,TS val 3051461952 ecr 13149401], length 0
04:35:50.199754 IP (tos 0x0, ttl 64, id 20578, offset 0, flagi [DF], proto TCP (6), długość 88)
192.168.10.16.50272 > tl-w-f189.1e100.netto.https: Flagi [P.], cksum 0x2531 (poprawne), seq 1:37, ack 52, win 63, opcje [nop,nop,TS val 3051463260 ecr 13149401], length 36
04:35:50.199809 IP (tos 0x0, ttl 64, id 7014, offset 0, flagi [DF], proto TCP (6), długość 88)
192.168.10.16.50434 > hkg12s18-w-f14.1e100.netto.https: Flagi [P.], cksum 0xb21e (poprawne), seq 328391782:328391818, ack 3599854191, win 63, opcje [nop,nop,TS val 3656137742 ecr 2564108387], długość 36
4 pakiety przechwycone
4 pakiety odebrane przez filtr
0 pakietów porzuconych przez jądro

Zwykle przechwytywanie pakietów TCP powoduje duży ruch; możesz szczegółowo określić swoje wymagania, dodając filtry do przechwytywania, takie jak:

Port
Określa port do monitorowania

$ sudo tcpdump -i wlan0 port TCP 2222

Źródłowy adres IP
Aby wyświetlić pakiety z określonego źródła

$ sudo tcpdump -i wlan0 tcp src 192.168.10.2

Docelowy adres IP
Aby wyświetlić pakiety do określonego miejsca docelowego

$ sudo tcpdump -i wlan0 tcp dst 192.168.10.2

Zapisywanie przechwytywania pakietów w plikach

Aby zapisać przechwycony pakiet do późniejszej analizy, możemy użyć opcji -w tcpdump, która wymaga parametru nazwy pliku. Pliki te są zapisywane w formacie pliku pcap (przechwytywanie pakietów), który można wykorzystać do zapisywania lub wysyłania przechwyconych pakietów.

Na przykład:

$ sudo tcpdump -w /schwytany.PCAP

Możemy dodać filtry określające, czy chcemy przechwytywać pakiety TCP, UDP, ICMP itp.

Odczytywanie przechwytywania pakietów z plików

Niestety, nie możesz odczytać zapisanego pliku za pomocą typowych poleceń „odczytaj plik”, takich jak cat itp. Dane wyjściowe są prawie bezsensowne i trudno powiedzieć, co jest w pliku. '-r' służy do odczytywania pakietów zapisanych w .plik pcap, zapisany wcześniej przez '-w' lub inne oprogramowanie przechowujące pcaps:

$ sudo tcpdump -r /wyjścia.PCAP

Spowoduje to wydrukowanie danych zebranych z przechwyconych pakietów na ekranie terminala w czytelnym formacie.

Ściągawka Tcpdump

Tcpdump może być używany z innymi poleceniami Linuksa, takimi jak grep, sed itp., wydobyć przydatne informacje. Oto kilka przydatnych kombinacji i słów kluczowych w połączeniu z tcpdump w celu uzyskania cennych informacji.

Wyodrębnij agenty użytkownika HTTP:

$ sudo tcpdump -n | grep "Agent użytkownika:"

Adresy URL żądane przez HTTP mogą być monitorowane za pomocą tcpdump, takiego jak:

$ sudo tcpdump -v -n | egrep -i "POST / |GET / |Host:"

Możesz też Wyodrębnij hasła HTTP w żądaniach POST

$ sudo tcpdump -nn -l | egrep -i "POST /|pwd=|hasło=|hasło=|Host:"

Pliki cookie po stronie serwera lub klienta można wyodrębnić za pomocą:

$ sudo tcpdump -n | egrep -i 'Ustaw-Cookie|Host:|Cookie:'

Przechwytuj żądania i odpowiedzi DNS za pomocą:

$ sudo tcpdump -i wlp58s0 -s0 port 53

Wydrukuj wszystkie hasła w postaci zwykłego tekstu:

$ sudo tcpdump port http lub port ftp lub port smtp lub port imap lub port pop3 lub port telnet -l -A | egrep -i -B5 'hasło=|hasło=|log=|login=|użytkownik=|użytkownik |nazwa_użytkownika=|pw=|hasło=|hasło=|hasło=|hasło:|użytkownik:|nazwa użytkownika:|hasło:| login:|przepustka '

Typowe filtry Tcpdump

  • -ZA Pokazuje pakiety w formacie ASCII.
  • -do Liczba pakietów do przechwycenia.
  • -liczyć Drukuj liczbę pakietów tylko podczas odczytu przechwyconego pliku.
  • -mi Drukuj adresy MAC i nagłówki na poziomie łącza.
  • -h lub -pomoc Wersja druku i informacje o użytkowaniu.
  • -wersja Pokaż tylko informacje o wersji.
  • -ja Określ interfejs sieciowy do przechwytywania.
  • -K Zapobiegaj próbom weryfikacji sum kontrolnych dowolnego pakietu. Dodaje prędkość.
  • -mi Określ moduł do użycia.
  • -nie Nie konwertuj adresów (i.mi., adresy hostów, numery portów itp.) do imion.
  • -numer Wydrukuj opcjonalny numer pakietu na początku każdej linii.
  • -p Zabroń interfejsowi przechodzenia w tryb rozwiązły.
  • -Q Wybierz kierunek przechwytywania pakietów. Wyślij lub odbierz.
  • -q Cichy/szybki wydruk. Drukuje Mniej informacji. Wyjścia są krótsze.
  • -r Używany do odczytywania pakietów z pcap .
  • -t Nie drukuj znacznika czasu w każdym wierszu zrzutu.
  • -v Drukuje więcej informacji dotyczących danych wyjściowych.
  • -w Zapisz surowe pakiety do pliku.
  • -x Drukuje wyjście ASCII.
  • -X Drukuje ASCII z hex.
  • -interfejsy listy Pokazuje wszystkie dostępne interfejsy sieciowe, w których pakiety mogą być przechwytywane przez tcpdump.

Zaprzestanie

Tcpdump jest bardzo szeroko stosowanym narzędziem wykorzystywanym w badaniach i zastosowaniach Security/Networking. Jedyną wadą tcpdump jest „Brak GUI”, ale jest zbyt dobry, aby trzymać go z dala od najlepszych list przebojów. Jak pisze Daniel Miessler: „Analizatory protokołów, takie jak Wireshark, są świetne, ale jeśli chcesz naprawdę opanować pakietowe fu, musisz najpierw stać się jednością z tcpdump.”

Gry Najlepsze aplikacje do mapowania gamepada dla systemu Linux
Najlepsze aplikacje do mapowania gamepada dla systemu Linux
Jeśli lubisz grać w gry na Linuksie za pomocą gamepada zamiast typowego systemu wprowadzania klawiatury i myszy, jest kilka przydatnych aplikacji dla ...
Gry Przydatne narzędzia dla graczy Linuksa
Przydatne narzędzia dla graczy Linuksa
Jeśli lubisz grać w gry w systemie Linux, prawdopodobnie używałeś aplikacji i narzędzi, takich jak Wine, Lutris i OBS Studio, aby poprawić wrażenia z ...
Gry Zremasterowane gry HD dla Linuksa, które nigdy wcześniej nie zostały wydane na Linuksa
Zremasterowane gry HD dla Linuksa, które nigdy wcześniej nie zostały wydane na Linuksa
Wielu twórców gier i wydawców wymyśla remaster HD starych gier, aby przedłużyć żywotność serii, prosimy fanów o kompatybilność z nowoczesnym sprzętem ...