Команди A-Z

Урок за командване на Linux Netstat за SysAdmins [40 примера]

Урок за командване на Linux Netstat за SysAdmins [40 примера]

Помощната програма netstat (мрежова статистика) в Linux предоставя информация, свързана с мрежовите връзки. Можете да използвате различни команди на netstat за показване на активни мрежови връзки, данни за интерфейса, маршрутни таблици и т.н. Това е важна информация за мрежовите администратори и професионалистите в infosec. Ето защо ние подготвихме това ръководство с богат избор от полезни примери на netstat. След като завършите това ръководство, ще можете да проверите цялата свързана с мрежата информация за вашата Linux машина. Също така насърчаваме читателите да изпробват тези примери на собствената си машина, за да получат по-практически опит.

Примери за команди на Netstat за мрежови администратори


Информацията, предоставена от netstat, улеснява намирането на проблеми в мрежовите връзки. Ето защо netstat е помощната програма за отстраняване на проблеми с мрежовите връзки за много sysadmins. Продължете да четете, за да разберете как най-добре да използвате командата netstat.

1. Показване на всички активни гнезда


Сокетите са структури, които действат като крайни точки при изпращане или получаване на мрежови заявки. Когато се използва без никакви аргументи, netstat показва списък на всички отворени сокети във вашата машина.

$ netstat

По подразбиране тази команда показва активните сокети за всички фамилни мрежи. Както може да забележите, той отпечатва много допълнителна информация под етикета „Unix домейни сокети“. Това са крайните точки за комуникация на данни за текущо изпълняваните процеси на вашата машина.

2. Показване на всички гнезда за слушане и непрослушване


Можете да използвате опция на netstat за разпечатване на списък на всички гнезда за слушане и не слушане. Изпълнете следната команда и проверете изхода, за да видите как работи тази команда.

$ netstat -a $ netstat --all

The -всичко опцията работи по същия начин като. Изходът трябва да показва всички сокети, активни и неактивни. Редовете представляват гнездата, а колоната диктува техните стойности. Потребителите могат да преглеждат протокола на сокета, изпратените / получените данни, адресите и съответните състояния.

3. Показване на TCP връзки


TCP или протоколът за контрол на предаването е най-използваният интернет протокол. Можете да използвате следната команда netstat, за да покажете само активните TCP връзки.

$ netstat -t $ netstat --tcp

Можете да използвате и дългата форма -tcp вместо -T. Използвайте командата по-долу, за да видите списък на всички слушащи и установени TCP мрежови връзки.

$ netstat -at $ netstat -all --tcp

4. Показване на UDP връзки


UDP или User Datagram Protocol е друг основен мрежов протокол, използван от нашите системи. Можете да използвате помощната програма netstat, за да покажете списък на установени и слушащи сокети за UDP връзки.

$ netstat -u $ netstat --udp

Този пример отпечатва всички установени UDP връзки. Ако искате да видите всички установени, както и връзки за слушане, използвайте командата по-долу.

$ netstat -au $ netstat --all --udp

5. Показване на всички слушащи TCP връзки


Можете да покажете списък на всички слушащи TCP връзки с помощта на и -T флаг на програмата netstat. Вижте командата по-долу, за да видите как се случва това.

$ netstat -lt

Той ще покаже всички TCP връзки, които активно слушат за входящи мрежови заявки. Резултатът трябва да съдържа информация както за TCP, така и за TCP6 протоколи. Можете също да използвате синтаксиса с дълга форма, когато използвате тази команда в скриптове на Linux.

$ netstat --listen --tcp

6. Показване на всички слушащи UDP връзки


Потребителите могат да използват същия подход, показан по-горе, за показване на слушане на UDP връзки. Отворете любимия си емулатор на терминал на Linux и изпълнете командата по-долу, за да го направите.

$ netstat -lu

Както при по-ранната команда, тя ще показва връзки за протоколите UDP и UDP6. Примерът по-долу илюстрира дългата форма.

$ netstat --listen --udp

7. Показване на всички слушащи UDP-Lite връзки


UDP-Lite е протокол без връзка, базиран на UDP протокола. Той позволява на системите да получават потенциално повреден мрежов пакет. Можете да покажете връзките за слушане за този протокол, като използвате следната проста команда.

$ netstat -lU

The -U опцията на netstat позволява на администраторите да посочат протокола udplite. Можете също да използвате -удплит като дълга форма за тази опция.

$ netstat --udplite

8. Показване на слушане на Unix връзки


Вече обсъдихме как Linux системите използват Unix домейн сокета за комуникация между процесите (IPC). Можете да отпечатате списък с всички слушащи Unix връзки за вашето устройство, като използвате следната команда netstat.

$ netstat -lx

The Опцията определя сокетите на домейна на Unix. Можете да използвате съкратената форма -unix вместо. Това е полезно за документиране на скриптове на черупки.

$ netstat --unix

9. Показване на статистика на протокола


Помощната програма netstat предлага отлична поддръжка за статистика на протокола. Потребителите могат да преглеждат широк спектър от информация от статистическите данни, като например броя на връзките, пакетите, лошите сегменти и т.н. Вижте резултата за следващата команда, за да видите как работи това.

$ netstat -s $ netstat --statistics

По подразбиране тази команда показва информация за протоколите TCP, UDP, ICMP и IP. Администраторите на мрежата могат да използват този изход, за да определят потенциални проблеми в мрежовите връзки.

10. Показване на статистиката на TCP протокола


Потребителите могат също да преглеждат статистически данни за връзки само за един протокол. Следващият пример показва статистическите данни само за протокола TCP.

$ netstat -st

Ние можем лесно да комбинираме опция с селектор на протокол и да разберете статистически данни за него. Примерът по-долу отпечатва същия изход, но използвайки съкратения синтаксис.

$ netstat --statistics --tcp

11. Показване на статистика за UDP протокола


Можем да преглеждаме статистическите данни за UDP протокола по същия начин, по който разглеждаме статистическите данни за TCP. Заменете -T или --tcp опция с някоя от -u или -udp. Вижте следващите два примера, за да видите как работи това.

$ netstat -su $ netstat --statistics --udp

Имайте предвид, че от тези команди ще намерите и статистиката за udplite. Ако обаче зададете udplite с помощта на -U или -удплит опция, няма да има UDP данни на получения резултат.

12. Показване на имена на програми


Можете да използвате помощната програма netstat, за да покажете кои програми са инициирали мрежовите връзки. Това може да бъде изключително полезно при отстраняване на проблеми с мрежата. Вижте командата по-долу, за да видите как работи.

$ netstat -pt

Изходът трябва да съдържа установени TCP връзки и програмите, които отговарят за тези връзки. Можете също да използвате съкратената форма -програма вместо -стр, както е илюстрирано в долния пример.

$ netstat --program --tcp

13. Показване на информация за мрежата в непрекъснат режим


The -° С или -непрекъснато опциите на netstat му позволяват непрекъснато да показва посочената информация. Вижте командите по-долу, за да видите как работи това.

$ netstat -tc $ netstat --tcp --непрекъснато

Интервалът на опресняване по подразбиране е 1 секунда. Потребителите обаче могат да го отменят, като предоставят допълнителен аргумент, както е показано в примерите по-долу.

$ netstat -tc 5 $ netstat --tcp - непрекъснат 3

Противно на много терминални команди на Linux, селекторът за интервали не се предшества от знак за равенство за съкратения синтаксис.

14. Показване на маршрутни таблици


Мрежовата помощна програма може да се използва за показване на маршрутни таблици, дефинирани от ядрото на Linux. Резултатът е подобен на този, предоставен от Linux IP командата.

$ netstat -r

Изходът на тази команда показва информация като адреса на местоназначението, шлюза, маската на подмрежата и името на мрежовия интерфейс. Можете да използвате съкратения синтаксис -маршрут ако искате да документирате използването на тази команда във вашите скриптове.

$ netstat --route

15. Показване на статистика за интерфейса


Netstat може да се използва за отпечатване на статистиката на интерфейса за вашата Linux система. Следващата команда отпечатва наличните мрежови интерфейси и предоставя информация за предадените и получените пакети, честотата на грешки и MTU.

$ netstat -i $ netstat --интерфейси

Можете да използвате някоя от опциите за преглед на информация за мрежовия интерфейс.

16. Показване на статистиката на интерфейса в реално време


За да видите статистиката на интерфейса в реално време, комбинирайте -° С или -непрекъснато опция с опцията за интерфейс. Следващите примери ще актуализират статистиката на мрежовия интерфейс на всеки 3 секунди.

$ netstat -ic 3 $ netstat --интерфейси - непрекъснат 3

Трябва да забележите промени в полетата за предавани (TX) и получени (RX). Заменете интервала от време с число, което отговаря на вашите нужди. Имайте предвид, че интервалът е в секунди, а не в минути.

17. Показване на таблица на ядрото за интерфейси


Следващата команда netstat показва интерфейсната таблица, дефинирана от ядрото на Linux. Тази команда е подобна на изхода, предоставен от командата Linux ifconfig.

$ netstat -ie

The или -разшири option принуждава netstat да отпечата тази интерфейсна таблица. Следващият пример илюстрира същата команда, използвайки съкратения синтаксис.

$ netstat --interfaces --extend

18. Показване на IP информация


Можете да покажете членството в групата IPv4 / IPv6 много лесно, като използвате помощната програма netstat. Вижте следния прост пример, за да видите как работи това.

$ netstat -g $ netstat --groups

Така че или -групи опцията на netstat може да преглежда членството в многоадресната група.

19. Показване на програми за слушане


Можете да използвате програмата netstat, за да видите кои програми активно слушат за входящи мрежови заявки. Това е много полезно, тъй като можете да определите кои програми са отговорни за определени мрежови дейности от този изход.

$ netstat -ap | grep "http" $ netstat --all --program | grep "http"

Ние просто отпечатваме всички програми за слушане и след това филтрираме необходимите списъци с помощта на grep. Вижте нашето по-ранно ръководство за команди на grep на Linux, за да видите как GREP филтрира данните в тръбопровода.

20. Показване на статистиката на RAW мрежата


Следващият пример на netstat ви показва как да го използвате за показване на сурова мрежова статистика. Копирайте командата и я стартирайте във вашия терминален емулатор, за да видите изхода за вашата лична машина.

$ netstat -sw $ netstat --statistics --raw

Резултатът трябва да съдържа статистически данни за необработени мрежови връзки, включително за IP, ICMP и udplite.

21. Показване на информация за IPv4 маршрути


Можете да използвате подкомандата на маршрута на netstat за преглед на IPv4 маршрутите, дефинирани от ядрото. Вижте следния пример, за да научите как да направите това.

$ netstat -r -4 $ netstat --route --inet

Така, -инет е съкратената форма за тази опция. Можете също да комбинирате опциите, ако използвате кратката форма.

$ netstat -r4

22. Показване на информация за IPv6 маршрути


Можем да отпечатаме информацията за маршрутизиране на IPv6 подобно на горната команда. Използвай -6 или -inet6 опция заедно с -маршрут или -r флаг. Следващият пример илюстрира това за читателите.

$ netstat -r -6 $ netstat --route --inet6

Имайте предвид, че изходните полета варират между IPv4 и IPv6. Така че, не забравяйте да прочетете етикетите на колоните. Примерът по-долу комбинира кратките форми на семейството адреси IPv6.

$ netstat -r6

23. Показване на маскарадни връзки


Маскарадните връзки позволяват на една или повече системи, без посочени IP адреси, да се свързват с интернет, използвайки адресите, зададени от Linux сървъра. Можете да видите списък с маскирани мрежови връзки и техните статистически данни, като използвате следната команда netstat в Linux.

$ netstat -M $ netstat --masquerade

Когато стартирате една от горните команди, netstat извлича необходимата информация, като чете файловата система на Linux / proc / net / ip_masquerade файл.

24. Таймери на дисплейната мрежа


Можете да определите дали има таймери за мрежовите ви връзки с помощта на -o опция на netstat. Това може да бъде полезно, когато се опитвате да отстранявате изходящи мрежови заявки. Вижте следните команди, за да видите как работи това.

$ netstat -t -o | повече $ netstat --tcp --timers | Повече ▼

Изходът трябва да съдържа дали има таймери и ако има такива, техния тип. Две наклонени черти разделят полетата с три таймера. Първото поле е таймерът за обратно отброяване, а второто е за проследяване на броя на повторните опити. И накрая, последното поле проследява броя сонди за поддържане, които са изпратени от стека TCP.

25. Показвайте IP адреси вместо FQDN


По подразбиране netstat се опитва да разреши DNS при отпечатване на мрежовата статистика. Можете обаче лесно да го деактивирате и да отпечатате свързаните IP адреси вместо FQDN (Напълно квалифицирано име на домейн). Това е полезно за мрежово наблюдение и отстраняване на неизправности.

$ netstat --numeric-hosts --tcp --all

The -числови-хостове опция сигнализира netstat да пропусне DNS резолюциите и вместо това да отпечата числовите IP адреси. Вижте нашето ръководство за Ubuntu DNS сървъри, за да научите повече за системата за имена на домейни.

26. Показване на цифрови номера на портове


Можете да пропуснете символната информация за порта от изходите на netstat, като използвате -numeric-ports опция. Тази опция принуждава netstat да отпечатва цифровите номера на портове вместо това. Моля, разгледайте примера по-долу, за да видите как работи.

$ netstat --numeric-ports --tcp --all

Сравнете изхода с предишния пример, за да намерите разликите. Ще откриете, че този изход съдържа точно представяне на номера на портове. Това е числото, следващо хост частта от изхода ви, предшествано от двоеточие.

27. Показвайте User ID за мрежови връзки


Следващият пример демонстрира как да се покаже потребителският идентификатор за потребителя, който притежава мрежовите връзки. Това може да стане с помощта на две опции на командата netstat.

$ netstat --numeric-users --tcp -e

The опция отпечатва името на потребителя и -числови потребители преобразува го в идентификационни номера. Това е UID (User Identification), зададен за всеки потребител от вашата Linux система.

28. Показване на цифрови еквиваленти за хостове, портове и потребители


Можете да комбинирате горните три команди на netstat, като използвате една опция. Това ще принуди netstat да отпечатва всички хостове, портове и потребителска информация, използвайки техния цифров еквивалент. Вижте следните примери, за да видите какво имаме предвид.

$ netstat -nt $ netstat --numeric --tcp

Можете да използвате някоя от двете -числови или за това. Ако погледнете изхода, трябва да видите IP адресите, номера на порта и UID информация в цифрова форма.

29. Показване на допълнителна информация


The или -разшири опциите на помощната програма netstat позволяват на потребителите да показват допълнителна информация за своите команди. Те могат да доведат до откриване на скрити грешки. Вижте примера по-долу, за да видите как работи.

$ netstat -tpe

Тази команда комбинира -T, -стр, и опции за разпечатване на установените TCP връзки, програмите, които ги притежават, както и допълнителна информация. Тази допълнителна информация включва информация за потребителя и inode. Използвай опция два пъти, за да получите повече информация.

$ netstat --tcp --program --extend --extend

30. Показване на кеша за маршрутизиране на ядрото


Кешът за маршрутизиране съдържа записите за маршрутизация, които са били използвани най-скоро. Тъй като това са кеширани данни, информацията може да бъде достъпна много бързо. Можете да използвате следната команда, за да отпечатате кеша на маршрута с помощта на netstat.

$ netstat -rC

По подразбиране netstat извлича информацията за маршрута от FTB. Тъй като обаче системите обикновено използват кеширани данни, преди да търсят таблицата за маршрутизиране, може да е полезно да се знае какво съдържание се съхранява там. Няма дълъг формуляр за този параметър.

31. Показване на информация за множество протоколи


Netstat позволява на потребителите да отпечатват информация за мрежата за набор от протоколи с помощта на -A или -протокол опция. Следващите примери илюстрират използването на тези опции.

$ netstat -A inet, inet6 $ netstat --protocol = inet, inet6

Забележете разликата между използването на -протокол и -A. Поддържаните семейства адреси за тези опции включват inet, inet6, unix, ddp, bluetooth и др.

32. Показване на SCTP информация


Протоколът за предаване на SCTP или Stream Control е нов и надежден метод за трансфер на данни. Той предлага предимства както на протокола TCP, така и на протокола UDP. Можете да разберете всички прослушвания на SCTP връзки, като използвате следните прости команди.

$ netstat -lS $ netstat --listen --sctp

Не забравяйте да не използвате за тази задача. Вместо това ще покаже мрежова статистика. Можете да разберете подробното използване на SCTP, като използвате някой от примерите за команди netstat, изброени по-долу.

$ netstat -sS $ netstat --statistics --sctp

33. Показване на информация за Bluetooth


Стандартът за безжичен обмен на данни Bluetooth използва няколко комуникационни протокола. The Протокол за управление и адаптиране на логическата връзка (L2CAP) и Радиочестотна комуникация (RFCOMM) са два от неговите първични протоколи, използвани на ниво хост. Можете да покажете информация за L2CAP, като използвате следните команди.

$ netstat -2 $ netstat --l2cap

Използвайте следните команди, за да покажете информация относно RFCOMM протокола.

$ netstat -f $ netstat --rfcomm

Имайте предвид, че много реализации на netstat не предлагат безпроблемна поддръжка на Bluetooth. Ако получите подкана „Netstat: функция„ AF BLUETOOTH “не се поддържа.“, Тогава ще трябва да прекомпилирате помощната програма net-tools от източника.

34. Показване на символни стойности за хостове, портове и потребители


The или -символично опциите на командата netstat ни позволяват да отпечатваме цялата информация за хостове, портове и потребители в символна форма. Вижте следния пример, за да научите как работи.

$ netstat -atN $ netstat --all --tcp --symbolic

Резултатът от тези команди ще съдържа списък на всички TCP мрежи, а хостът, портът и потребителите ще бъдат посочени с помощта на символния им еквивалент. Тя може да бъде полезна за администратори, които искат подробни резултати, а не цифрови.

35. Деактивирайте съкращаването на IP адреса


Можете да използвате -w или -широк опции на помощната програма netstat за деактивиране на съкращаването на IP адреси. Това не е много полезно само по себе си, но предлага средства за обратна съвместимост.

$ netstat -atw $ netstat --all --tcp --wide

Ако пишете скриптове на Linux, използвайте тази опция, за да сте сигурни, че не отрязва IP адресите на по-стари машини.

36. Покажете кои услуги слушат на определен порт


Ако сте хакер на бяла шапка или професионалист на infosec, може да искате да видите кои слушате на определен порт. Това може да стане много лесно чрез комбиниране на netstat с командата grep в Linux. Вижте следния пример на netstat, за да научите как може да се направи.

$ netstat -ltnp | grep ': 22'

Тази команда ще отпечата всички програми, които слушат TCP порт 22. Това е номерът на порта за ssh връзки. Заменете този номер с номера на порта, който ви интересува в grep частта.

37. Показване на неподдържани семейства с адреси


Както вече беше обсъдено, netstat може да работи с широк спектър от семейства адреси. Не всички от тях обаче се поддържат от всяко внедряване на netstat. Например много версии на netstat не поддържат фамилията Bluetooth адреси веднага. Можете лесно да проверите семействата адреси, които не се поддържат от вашата помощна програма netstat.

$ netstat --verbose | grep "няма поддръжка за"

Тази команда ще отпечата всички неподдържани семейства адреси за вашето устройство. Ако искате да използвате някой от тях, ще трябва да изтеглите източника за мрежови инструменти и да го компилирате с пълната поддръжка за конфигуриране.

38. Показване на информация за версията


Можете да отпечатате информацията за версията за вашата програма netstat с помощта на -V или -версия опция. Това ще отпечата допълнителна информация заедно с данните за версията.

$ netstat -V $ netstat --version

Когато изпълните една от горните команди, ще видите списък с поддържани и неподдържани семейства адреси. Обърнете внимание, че данните за версията, показани от тази команда, представляват версията на мрежовите инструменти, инсталирани на вашата машина.

39. Показване на страницата за помощ


Страницата за помощ на netstat съдържа обобщена информация за всички налични опции и тяхното използване. Той предлага удобен начин за търсене на опциите. Можете да отпечатате тази страница, като използвате една от следните команди на netstat.

$ netstat -h $ netstat --помощ

Ако сте мрежов администратор, ще намерите този раздел доста удобен.

40. Показване на ръчната страница


Страницата с ръководството на терминални команди на Linux съдържа задълбочена информация за използването на командата и наличните опции. Трябва да се консултирате с тази страница, когато искате да научите повече за конкретна програма. Страницата man на netstat може да бъде извикана с помощта на командата по-долу.

$ man netstat

Разгледайте тази страница, ако искате подробна информация за netstat и неговия изходен формат.

Край на мислите


Командата netstat е една от най-често използваните терминални команди за sysadmins. В днешно време обаче тя остаря и се появиха по-напреднали програми, които да поемат. Като цяло заместителят на netstat е ss програмата. Помощната програма IP служи като заместител на netstat -r, netstat -i, и netstat -g. Независимо от това, netstat остава доста актуален поради широкото му използване и наличност в повечето дистрибуции на Linux. Ние силно насърчаваме нашите читатели да използват по-новите алтернативи. Това покритие на основните команди на netstat може да служи като отправна точка за потребители, които трябва да използват netstat.

Как да покажете OSD наслагване в приложения на цял екран за Linux и игри
Играта на цял екран или използване на приложения в режим на цял екран без разсейване може да ви откъсне от съответната системна информация, видима в п...
Топ 5 карти за залавяне на игри
Всички сме виждали и обичаме поточни игри в YouTube. PewDiePie, Jakesepticye и Markiplier са само някои от най-добрите геймъри, които са спечелили мил...
Как да разработите игра на Linux
Преди десетилетие не много потребители на Linux биха прогнозирали, че любимата им операционна система един ден ще бъде популярна игрална платформа за ...