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

Най-простата команда netstat е просто да изпълните инструмента без параметър:

 NETSTAT 

Това ще покаже списък с текущите отворени връзки на устройството ви. Резултатите обаче могат да бъдат малко трудни. Ето защо е по-добре да се разбият връзките по тип. За да видите всички отворени TCP връзки, използвайте:

 netstat -t 

Резултатът е списък с текущите връзки, които се извършват с вашия компютър. В горния пример можете да видите, че моята тестова машина работи с SSH сървър и че има установени SSH връзки.

Обърнете внимание на реда, който гласи " Активна интернет връзка (без сървъри) ". Последната част означава, че netstat не включва списък с сървъри, работещи на вашата машина; с други думи, той не изброява тези програми, които чакат TCP връзки, но понастоящем няма такива.

За да получите списък на активните TCP връзки и списък на пристанищата, които слушат TCP връзки, добавете -a :

 netstat -at 

-a означава "ALL" и добавя набор от порта за слушане. Поглеждайки надолу по списъка, можете да видите, че компютърът ми Linux също чака SSH връзки през IPv6.

Същата информация може да се генерира и за UDP чрез:

 netstat -au 

Обратното на флага -a флагът -l който прави netstat списък на пристанищата за слушане, но пропуска активните връзки.

За да видите списък на процесите, които имат отворени връзки или чакат връзки, използвайте флага -p :

 sudo netstat -atp 

Можете да използвате -p както и -t за TCP, или -u за UDP. Също така имайте предвид, че трябва да изпълните командата със sudo . Знакът -p прави тълкуването на списъка с връзки много по-лесно. От горния пример можете да видите, че сървърът SSH не работи само (sshd), но устройството има сървър CUPS, който се изпълнява заедно с мини сървъра DNSMasq.

Ако трябва да проверите дали дадена услуга работи, можете да използвате netstat във връзка с grep . Например, при моята настройка за тестване, инсталирах имейл сървър (postfix). За да проверите дали тя работи, мога да използвам следното:

 sudo netstat -ltp | grep smtp 

-ltp указва на netstat да се изброят само TCP сървърите (т.е. тези процеси, които слушат връзките), а grep филтрира изхода, за да покаже само линиите с низ "smtp". В резултат на това можем да видим, че процесът " master "(което е името на основния процес на Postfix) слуша за IPv4 и IPv6 за входящи SMTP връзки.

netstat е в състояние да генерира доста статистическа информация за подсистемата за работа в мрежа. Изпробвайте следните команди:

  • netstat -i да получите информация за използването на мрежовите интерфейси
  • netstat -ie да получите разширена информация за използването
  • netstat -s да получите обобщена статистика за всеки от мрежовите протоколи (т.е. TCP, UDP, ICMP и т.н.)

За да получите текущата таблица за маршрутизиране на ядрото, използвайте:

 netstat -rn 

Таблиците за маршрутизиране на четене се нуждаят от обучено око, но по същество това, което е показано по-горе, е, че маршрутът по подразбиране (0.0.0.0) за всички пакети, различни от тези за локалната машина, ще бъде изпратен на 192.168.1.254. по подразбиране портал и моя интернет модем / рутер.

Можете да стартирате командата без -n което означава, че netstat ще се опита да разреши адресите.

В страницата netstat man има пълен списък с всички налични опции, можете да го прочетете, като използвате:

 човек netstat 

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