Как да използвате netstat в GNU / Linux

Netstat е много мощна помощна програма, която ще изброява всички TCP и UDP връзки, както и unix сокет връзки, които в момента слушат за връзки, както и в момента свързани. Въпреки че много домашни потребители не е задължително да се притесняват от това, онлайн геймърите или всеки, който възнамерява да хоства всякакъв вид сървър в бъдеще, със сигурност в един момент ще трябва да се справят с портовете.

Netstat е полезен и за сигурност и поверителност, например, за да разберете кои програми „говорят“ с Интернет.

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

Както обещах (в моята статия ' Как да намеря информацията си за мрежата в Linux ? ') Ще ви представя командата netstat. Тази команда е много полезен инструмент за откриване на информация в мрежата като таблици за маршрутизация, мрежови връзки, статистика на интерфейса, маскарадни връзки и многочленни членове. Но не е толкова просто да се използва, колкото някои от другите инструменти за откриване (като ifconfig). С netstat наистина трябва да знаете какво търсите и как да го намерите. Тази статия ще ви помогне да разберете точно това.

Инсталация?

За щастие вашата дистрибуция трябва да идва с NETSTAT команда предварително инсталирана. За да проверите това, отворете прозорец на терминала (там така или иначе ще използвате netstat) и издайте командата кой netstat , Тази команда трябва да върне нещо като / Хамбар / NETSTAT , Това ще ви каже, че инструментът е инсталиран и къде е изпълнимият файл.

Основи на Netstat

Основната команда netstat изглежда така:

netstat АРГУМЕНТНИ ОПЦИИ

Където ARGUMENT е типът семейство адреси, за който искате информация, и OPTIONS е незадължителната (ите) опция (и), която ще посочи типа информация, която ще се върнете.

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

  • да се : Показва състоянието на всички гнезда и записи на таблицата за маршрутизиране.
  • ° С : Показва информация непрекъснато.
  • д : Показване на състоянието на всички интерфейси, които използват DHCP.
  • е : Показване на разширена информация.
  • г : Показване на информация за членство в група за множествено изпращане както за IPv4, така и за IPv6.
  • аз : Показване на таблица с всички мрежови интерфейси.
  • л : Ограничете статистиката до определен интерфейс.
  • М : Показване на таблици за маршрутизиране на множествено предаване.
  • н : Показва мрежовите адреси като числа вместо символите по подразбиране.
  • р : Показване на таблици за разделителна способност на адреса.
  • P : Ограничете статистиката до определен протокол.
  • R : Показване на всички таблици за маршрутизиране.
  • T : Показване на TCP връзки.
  • ф : Показване на UDP връзки.
  • V : Използвайте многословен режим за извеждане.

Така че нека да разгледаме и да видим как могат да се използват заедно.

NETSTAT

Сама по себе си (без опции) тази команда отпечатва обща статистика на хоста, към който в момента сте свързани.

netstat -an

Тази команда ще покаже всички връзки към хоста, включително адресите на източника и местоназначението и портовете, и ще ги покаже като числа.

netstat -rn

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

netstat -r

Тази команда ще покаже таблицата ви за маршрутизиране за вашия хост.

netstat -natp

Тази команда ще показва активните TCP връзки в числова форма.

netstat -t - закрепване

Това ще ви покаже всички tcp портове, които хоствате.

netstat - статистика

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

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

Съвети за употреба за Netstat

Един от най-основните и често срещани начини за използване на netstat е да проверите кои портове слушат

  • netstat -l

Което дава нещо подобно на моята прясно инсталирана система Antergos

netstat -l

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

  • netstat -lt # за TCP
  • netstat -lu # за UDP
  • netstat -lx # за Unix

Или можете да отидете на пълния противоположен край на спектъра и да изброите всички връзки

  • netstat -a

Ако предпочитате, друга опция, която може да бъде полезна, имайте предвид 'n' опцията. Например, когато използвате netstat -n или netstat -ltn, всички имена на хостове вече няма да се опитват да бъдат разрешавани и ще се показват само IP адреси, като в примера по-долу.

netstat-ltn

Както можете да видите, localhost в името беше решен до неговата числова стойност след използване на опцията 'n'

Друг начин за използване на netstat е netstat -ie, „i“ за интерфейси и „e“ за „разширен“, който ще ни помогне да постигнем по-лесно четим изход от хора.

netstat -ie # Това ще ни покаже списък с мрежови интерфейси и информация за всяко устройство.

netstat ie

Разширени съвети за Netstat

Това, което искаме да направим, е да кажем на netstat да ни даде изход за конкретни приложения, които слушат за tcp връзки. За целта издаваме командата:

  • netstat --tcp --listening --програми

Изходът за тази команда ще изглежда нещо като:

Proto Recv-Q Send-Q Локален адрес Външен адрес Stat PID / Програма
tcp 0 0 *: ssh *: * LISTEN 25469 / sshd
tcp 0 0 *: httpd *: * СПИСЪК 26754 / httpd
tcp 0 0 localhost: ipp *: * LISTEN -

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

маршрут

Netstat е в състояние бързо да отпечата таблицата за маршрутизиране на ядрото на вашите машини с командата:

netstat -r

Резултатът от тази команда ще изглежда така:

Таблица за маршрутизиране на IP ядро
Дестинация Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 et0
по подразбиране 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

Статистика

Това е един от по-удобните инструменти за netstat. С това можете да разберете точно статиката за всеки протокол. Основната структура на командите е:

netstat - статистика

което ще ви даде много повече информация, отколкото искате. Кажете, искате да видите само статистически данни за TCP протокола. За това можете да издадете командата:

netstat -t - статистика

Изходът към горната команда ще включва информация като:

TCP:
4343 отвора за активни връзки
8 пасивни отвора за свързване
5 неуспешни опита за свързване
178 получени нулиране на връзката
Установени са 6 връзки
Получени 59075 сегмента
60033 сегменти изпращат
76 сегмента са пренастроени
0 получени лоши сегмента.
Изпратени 303 нула

Или можете да получите информация за UDP, както и с командата:

netstat -u - статистика

Което би ви дало подобен изход за протокола UDP.

Бъдете креативни

Ами ако искате да видите всички уникални IP адреси, свързани със сървър? Можете да направите това с netstat (и помощта на няколко други инструмента), като така:

netstat -nat | awk '{print $ 5}' | изрязване -d: -f1 | sed -e '/ ^ $ / d | Uniq

Резултатът от горната команда ще зависи от това колко трафик получава вашата машина / сървър. Но тя ще включва всички уникални IP адреси, които се опитват да се свържат с вашия сървър.

Какво ще кажете да проверите дали вашият сървър е под атака на DOS? Можете да направите това с netstat по този начин:
netstat -anp | grep 'tcp | udp' | awk '{print $ 5}' | изрязване -d: -f1 | сортиране | uniq -c | сортиране -n

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

Заключителни мисли

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

Сега ти: Коя е предпочитаната от вас програма за проверка на мрежовата информация и защо? Уведомете ни в коментарите!

Свързани статии