W tym samym stylu, co pytania „Przydatne wiersze poleceń” (dla Windows , Linux i Mac ), myślę, że przydałoby się mieć „użyteczne sposoby korzystania z pytań narzędzia x”. Strony podręcznika informują o tym, jakie parametry działają, ale niekoniecznie o tym, dlaczego ich użyjesz, co oznacza wynik, jakie użyteczne rzeczy robi polecenie, których nigdy nie poznasz bez obszernych eksperymentów lub jak uzyskać odpowiedź, której naprawdę chcesz.
Chciałbym wiedzieć o netstat . Wydaje się, że powinienem być w stanie ustalić, które procesy wykorzystują przepustowość, a nawet jak szybko system wykorzystuje przepustowość. Wygląda również na przydatne do wykrywania niechcianych połączeń (prawdopodobnie virii) i zapewnia wszelkiego rodzaju informacje o routingu (z którymi musiałem się bawić tylko, gdy próbowałem zmusić PDA Sharp Zaurus do korzystania z TCP / IP przez USB). Innymi słowy, to brzmi jak kopalnia złota i miałem nadzieję, że niektórzy z was podzielą się znalezionymi przez siebie bryłkami.
W odpowiedzi podaj wersję netstat i swój system operacyjny. Byłoby miło zobaczyć przykładowe wyniki i wiedzieć, co to znaczy. Oznacziłem to pytanie jako wiki społeczności i mam nadzieję, że zrobisz to samo w swoich odpowiedziach, aby inni ludzie, znając inny system operacyjny, mogli wydać prawie równoważne polecenie, jeśli wiedzą, w tej samej odpowiedzi i wtedy możemy głosować, które odpowiedzi są najbardziej przydatne.
Tabele routingu Netstat
[Zostało to przetestowane w systemie Mac OS X 10.5.7. Podejrzewam, że wynik jest prawie taki sam na wszystkich platformach, jak wskazano do pracy w systemie Solaris.]
da ci tablicę routingu.
jest taki sam, ale da ci surowe adresy IP zamiast wyszukiwania nazw komputerów. Jego dane wyjściowe wyglądają tak (tylko dłużej):
Kolumny:
Miejsce docelowe i brama: miejscem docelowym jest adres (lub zakres adresów), do którego możemy chcieć wysłać informacje. Wszystkie dane wysłane do tego miejsca docelowego trafią do powiązanej bramy. Brama wie, dokąd przesłać dane do następnego „przeskoku” w podróży. Jeśli chcemy wysłać dane do miejsca docelowego, które nie ma wpisu w tabeli routingu, przejdzie przez bramę domyślną.
Flagi: Strona man / info zawiera wszystkie flagi. Oto, co oznaczają ustawienia w mojej domyślnej bramie:
To ciekawe, że twierdzi, że jest dodawany ręcznie, ponieważ przeszedł przez DHCP.
Odsyłacze: „Pole refcnt podaje bieżącą liczbę aktywnych zastosowań trasy. Protokoły zorientowane na połączenie zwykle utrzymują jedną trasę przez czas trwania połączenia, podczas gdy protokoły bezpołączeniowe uzyskują trasę podczas wysyłania do tego samego miejsca docelowego.” (Strona podręcznika man)
Use: „Pole use podaje liczbę pakietów wysłanych tą trasą”.
Netif: „Wpis interfejsu wskazuje interfejs sieci używany dla trasy”.
Na moim komputerze Mac
Wygasają: na stronie podręcznika dla innej wersji netstat: „Wyświetla czas (w minutach) pozostały do upływu trasy”.
źródło
Sprawdź na stronie Netstat CommandLineFu kilka użytecznych sposobów używania netstat w bash.
źródło
W systemie Windows:
Pokazuje liczbę połączeń TCP / IP. Przydatne, jeśli rozwiązujesz problemy z wysokimi sieciami, w których brakuje portów TCP i potrzebujesz zwiększyć MaxUserPorts .
źródło
Szybkość transmisji / odbioru
Na Macu [OS X 10.5.7]:
[Zobacz odpowiedź Chucka na uwagi na temat używania w systemach Solaris i Linux.]
Dane wyjściowe wyglądają tak:
To pokazuje, ile pakietów i bajtów zostało przesłanych w danym przedziale czasu. (10 sekund w tym przykładzie). Byłem połączony z youtube i pobierałem ponad 1 MB co interwał, dopóki nie zamknąłem karty przeglądarki i stawka spadła.
Może się to okazać przydatne, jeśli czekasz na zakończenie przesyłania lub pobierania. Monitoruj tempo, a gdy drastycznie spadnie, wiesz, że zostało to zrobione.
Zauważ, że powyższe polecenie pokazuje całą przepustowość na wszystkich interfejsach. Aby zawęzić zakres do konkretnego interfejsu (w tym przykładzie Wi-Fi), użyj
-I
flagi, ponieważ:źródło
Windows:
Pokazuje aktywne połączenia TCP, ale brak aktywności UDP.
Wyświetla wszystkie aktywne połączenia TCP, a także nasłuchuje połączeń TCP i UDP. Nie pokazuje tutaj wychodzącej aktywności UDP.
źródło
netstat -p tcp -n
lubnetstat -p tcp -an
Windows
Wyświetl proces za pomocą połączenia
źródło
Windows 7 (być może jednak wcześniejszy):
wyświetla listę aktywnych sesji z powiązanymi PID
lub, aby zapisać krok
(z podwyższonego monitu CMD) podaje nazwę procesu
źródło
Jestem pewien, że odkrywam na nowo koło, ale tutaj jest prosty skrypt Perla do uruchamiania netstat i sortowania danych wyjściowych, tak aby obecnie najczęściej podłączone adresy IP były wyświetlane na górze. Najlepiej jest to stosować w programie „Watch” do aktualizacji w 2-sekundowych odstępach.
Aktualizacja: znaczące przepisanie 2013-02-11, aby pozbyć się wielu problemów i wyświetlić nazwy hostów
Przykładowe dane wyjściowe:
źródło
Solaris:
źródło
Z książki Wicked Cool Shell Scripts:
Skrypt # 90.1 : Co 'n' minut, zbieraj wartości netstats (przez crontab)
Skrypt 90.2 : Przeanalizuj uruchomiony dziennik wydajności netstat, identyfikując ważne wyniki i trendy.
(Uwielbiam tę książkę - warto ją kupić!)
źródło
W systemie Solaris wiele osób przyzwyczaja się do wykonywania polecenia „netstat -i 1” w celu uzyskania liczby uruchomionych pakietów. Linux netstat ma bezużyteczną wersję tej funkcji, ponieważ pokazuje surową liczbę, a nie różnicę. Aby uzyskać podobne wyniki, wykonaj „sar -n DEV 1 0”. Rozważmy w rzeczywistości „LANG = C sar -n DEV 1 0 | grep interfacename” (sar umieszcza czas z AM i PM na początku linii w niektórych lokalizacjach, więc najlepiej jest przyzwyczaić się do ciągłego działania ”LANG = C sar "na wypadek, gdybyś kiedykolwiek go przeanalizował).
źródło
W systemie Solaris
Pokazuje podsumowanie różnych statystyk. Przydatny do sprawdzania błędów itp.
źródło
Ponieważ nikt jeszcze o tym nie wspomniał:
zapewnia mnóstwo przydatnych statystyk według protokołu w systemie Linux.
źródło