Как да използвате командата ss в Linux

Прозорец на терминал на лаптоп система с Linux.

Фатмавати Ахмад Заенури/Shutterstock



|_+_| командата е модерен заместител на класическия |_+_|. Можете да го използвате в Linux, за да получите статистически данни за вашите мрежови връзки. Ето как да работите с този удобен инструмент.

Командата ss срещу netstat

Заместител на остарелите |_+_| команда , ss ви дава подробна информация за това как вашият компютър комуникира с други компютри, мрежи и услуги.





|_+_| показва статистика за Протокол за управление на предаването (TCP), Протокол за потребителска дейтаграма (UDP), Unix (междупроцес) и необработени гнезда. Необработени контакти оперират при network OSI level , което означава, че TCP и UDP заглавките трябва да се обработват от приложния софтуер, а не от транспортния слой. Протокол за интернет контролни съобщения (ICMP) съобщения и пинг и двете помощни програми използват необработени сокети.

Използването на ss

Не е нужно да инсталирате |_+_|, тъй като вече е част от актуална Linux дистрибуция. Изходът му обаче може да бъде много дълъг - имахме резултати, съдържащи над 630 реда. Резултатите също са много широки.



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

Изброяване на мрежови връзки

Използвайки |_+_| без опции на командния ред изброява гнезда, които не слушат. Тоест, той изброява гнездата, които не са в състояние на слушане.

За да видите това, въведете следното:



netstat

netstat

Колоните са както следва:

    Netid: Типът на контакта. В нашия пример имаме u_str, Unix поток, udp и icmp6, IP версия 6 ICMP сокет. Можете да намерите още описания на Типове сокети за Linux в Linux man страници . състояние: Състоянието, в което се намира гнездото. Recv-Q: Броят на получените пакети. Изпращане-Q: Броят изпратени пакети. Местен адрес: Пристанище: Локалният адрес и порт (или еквивалентни стойности за Unix сокети). Адрес на партньор: Порт: Отдалеченият адрес и порт (или еквивалентни стойности за Unix сокети).
Реклама

За UDP сокети колоната State обикновено е празна. За TCP сокети може да бъде едно от следните:

    СЛУШАМ:Само от страна на сървъра. Сокетът чака заявка за свързване. SYN-SENT:Само от страна на клиента. Този сокет е направил заявка за свързване и чака да види дали е прието. SYN-ПОЛУЧЕНО:Само от страна на сървъра. Този сокет чака потвърждение на връзката, след като приеме заявка за свързване. УСТАНОВЕНО:Сървър и клиенти. Установена е работеща връзка между сървъра и клиента, което позволява прехвърляне на данни между двамата. FIN-WAIT-1:Сървър и клиенти. Този сокет очаква заявка за прекратяване на връзката от отдалеченото гнездо или потвърждение на заявка за прекратяване на връзката, която преди това е била изпратена от този сокет. FIN-WAIT-2:Сървър и клиенти. Този сокет чака заявка за прекратяване на връзката от отдалечения сокет. ЗАТВОРИ-ЧАКАЙТЕ:Сървър и клиент. Този сокет очаква заявка за прекратяване на връзката от локалния потребител. ЗАТВАРЯНЕ:Сървър и клиенти. Този сокет чака потвърждение на заявка за прекратяване на връзката от отдалечения сокет. ПОСЛЕДНО ОТКАЗВАНЕ:Сървър и клиент. Този сокет чака потвърждение на заявката за прекратяване на връзката, която е изпратила към отдалечения сокет. ВРЕМЕ ЗА ИЗЧАКВАНЕ:Сървър и клиенти. Този сокет изпрати потвърждение до отдалечения сокет, за да го уведоми, че е получил заявката за прекратяване на отдалечения сокет. Сега чака да се увери, че е получено потвърждението. ЗАТВОРЕНО:Няма връзка, така че гнездото е прекратено.

Изброяване на гнезда за слушане

За да видим гнездата за слушане, ще добавим |_+_| опция (слушане), така:

ss

ss

Всички тези контакти не са свързани и слушат. rtnl означава маршрутизиране на netlink, което се използва за прехвърляне на информация между процесите на ядрото и потребителското пространство.

Изброяване на всички гнезда

За да изброите всички гнезда, можете да използвате |_+_| (всички) вариант:

ss

ss

Изходът съдържа всички гнезда, независимо от състоянието.

Изброяване на TCP сокети

Можете също да приложите филтър, така че да се показват само съвпадащи гнезда. Ще използваме |_+_| (TCP) опция, така че ще бъдат изброени само TCP сокети:

-l

Изброяване на UDP сокети

|_+_| (UDP) опцията изпълнява същия тип филтриране. Този път ще видим само UDP сокети:

-a

-t

Изброяване на Unix сокети

За да видите само Unix сокети, можете да включите |_+_| (Unix), както е показано по-долу:

ss -a -t

-u

Изброяване на необработени сокети

Филтърът за необработени гнезда е |_+_| (сурова) опция:

-x

Изброяване на IP версия 4 гнезда

Сокетите, използващи протокола TCP/IP версия 4, могат да бъдат изброени с помощта на |_+_| (IPV4) опция:

-w

Изброяване на IP версия 6 гнезда

Можете да включите съответстващия IP филтър версия 6 с |_+_| (IPV6) опция, така:

-4

Изброяване на сокети по щат

Можете да изброите сокетите според състоянието, в което се намират с |_+_| опция. Това работи с установени, слушащи или затворени състояния. Ще използваме и опцията за разрешаване (|_+_|), която се опитва да разреши мрежовите адреси към имена и портове към протоколи.

Реклама

Следната команда ще търси установени TCP връзки и |_+_| ще се опита да разреши имената:

-6

Изброени са четири връзки, които са в установено състояние. Името на хост, ubuntu20-04, е разрешено и ssh се показва вместо 22 за SSH връзката на втория ред.

Можем да повторим това, за да потърсим гнезда в състояние на слушане:

state

-r

Изброяване на сокети по протокол

Можете да изброите гнездата, като използвате конкретен протокол с |_+_| и |_+_| опции, които представляват портовете на дестинацията и източника, съответно.

Пишем следното, за да изброим сокети, използващи HTTPS протокола на |_+_| връзка (обърнете внимание на интервала след отварящата скоба и преди затварящата):

ss

Можем да използваме името на протокола или порта, обикновено асоцииран с този протокол. Портът по подразбиране за Сигурна обвивка (SSH) е порт 22.

Реклама

Ще използваме името на протокола в една команда и след това ще го повторим, използвайки номера на порта:

dport sport

Както се очакваше, получаваме същите резултати.

Изброяване на връзки към конкретен IP адрес

С |_+_| (дестинация), можем да изброим връзки към конкретен IP адрес на местоназначение.

Пишем следното:

established

Идентифициращи процеси

За да видите кои процеси използват сокетите, можете да използвате опцията за процеси (|_+_|), както е показано по-долу (обърнете внимание, че трябва да използвате |_+_|):

dst

-p

Това ни показва, че двете установени връзки на TCP сокети се използват от SSH демона и Firefox.

Достоен наследник

|_+_| командата предоставя същата информация, предоставена преди от |_+_|, но по по-опростен и по-достъпен начин. Можете да разгледате man страница за повече опции и съвети.

Linux команди
Файлове катран · pv · котка · tac · chmod · сцепление · разл · sed · С · човек · pushd · popd · fsck · тестов диск · сек · fd · пандока · CD · $PATH · awk · присъединяване · jq · сгънете · уникален · journalctl · опашка · състояние · ls · fstab · изхвърли · по-малко · chgrp · chown · rev · виж · струни · Тип · преименувайте · цип · разархивирайте · монтиране · umount · Инсталирай · fdisk · mkfs · rm · rmdir · rsync · df · gpg · ние · нано · mkdir · от · вътрешен · кръпка · преобразувам · rclone · накъсайте · SRM
процеси псевдоним · екран · връх · хубаво · renice · напредък · strace · система · tmux · chsh · история · в · партида · Безплатно · който · dmesg · потребителски мод · п.с · chroot · xargs · tty · мизичко · lsof · vmstat · изчакване · стена · да · убиват · сън · sudo · неговата · време · groupadd · потребителски мод · групи · lshw · изключвам · рестартирайте · Спри се · изключване · passwd · lscpu · crontab · дата · bg · fg
Работа в мрежа netstat · пинг · трасиране · ip · ss · кой е · fail2ban · bmon · Вие · пръст на ръката · nmap · ftp · къдрица · wget · Кой · кой съм аз · В · iptables · ssh-keygen · ufw

СВЪРЗАНИ: Най-добрите Linux лаптопи за разработчици и ентусиасти

ПРОЧЕТЕТЕ СЛЕДВАЩО Снимка на профила на Дейв Маккей Дейв Маккей
Дейв Маккей за първи път използва компютри, когато перфорираната хартиена лента беше на мода и оттогава той програмира. След повече от 30 години в ИТ индустрията, той вече е технологичен журналист на пълен работен ден. По време на кариерата си той е работил като програмист на свободна практика, мениджър на международен екип за разработка на софтуер, ръководител на проекти за ИТ услуги и, последно, като служител по защита на данните. Неговото писане е публикувано от howtogeek.com, cloudsavvyit.com, tenterpriser.com и opensource.com. Дейв е евангелист на Linux и привърженик на отворен код.
Прочетете пълната биография

Интересни Статии