5 супер полезных сетевых утилит linux

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Привет! Начинающие devops инженеры часто задают вопрос: что мне поучить, чтобы стать лучше (привет diablo)? Обычно я отвечаю: поучи команды linux. Но в целом посыл обычно ясен, чтобы что-то учить, надо хотя бы знать название утилит. Цель этой статьи и является ознакомление любопытного читателя с интересными сетевыми утилитами которые есть (или легко устанавливаются) в любом дистрибутиве linux. И так начнем!

ip

Утилита управляет интерфейсами, сетевыми устройствами и туннелями. Всем сетевым стеком linux. Например: 

ip addr 

Покажет список всех сетевых адресов. Тоже самое делает утилита ifconfig без параметров. 

ip route 

Покажет таблицу роутинга. Тоже самое сделает команда route

ip link set eth0 up 

Поднимает интерфейс eth0. Это можно также сделать с помощью ifconfig

Так зачем она нужна если все ее команды можно выполнить с помощью других утилит? Дело в том, что во многие компактные дистрибутивы (например Alpine или openwrt) не используют ifconfig, route и другие “большие” утилит. Там оставляют только ip. Вот с помощью нее и придется выполнять все сетевые задачи. 

nc

Полное имя netcat - на него она тоже откликается. Это утилита, позволяет слушать и выполнять TCP и UDP соединении. 

И так что может netcat? 

Открываем одно окно терминала и делаем там nc -l 12345 это будет наш сервер. Отрываем другое окно и пишем в нем nc 127.0.0.1 12345 — это наш клиент. Печатаем там “Hello!” нажимаем enter. В первом окне видим эту фразу. Ура! Мы написали однонаправленный чат.

Эта утилита пригодиться чтобы проверить жив ли сервер и слушает ли от вообще на этом порту? С помощью nc можно переслать файл и даже просканировать порты. Http сервер еще можно написать.

socat 

Это труба, которая позволяет соединить два сокета между собой. Mysql слушает только на local socket а мы хотим на его ходить по tcp. Выглядит это так: socat TCP-LISTEN:3307,reuseaddr,fork UNIX-CONNECT:/var/lib/mysql/mysql.sock 

Конектор к netcat из предыдущего примера: socat - TCP4:127.0.0.1:80 

Если вам нужно перебросить сокет в другое место присмотритесь к socat он вам скорее всего поможет. 

netstat 

Эта утилита показывает текущее состояние сетевого стека. Она даст вам ответ на вопросы: что у меня там на порту 9081 висит? netstat -nltp Что с моими tcp соединениями и кто прямо сейчас ко мне подключен? netstat -atp 

У этой утилиты есть младший (или старший по возможностям) брат ss посмотрите на него тоже может он понравиться больше.

curl

Утилита для передачи файлов. Так написано в ее описании. Чем же она замечательна? Она умеет кучу протоколов: DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP. В каждом протоколе она знает множество версий, например HTTP она может до версии 2. Умеет подставлять хидера, куки, ходить по SSL, использовать proxy разных видов. Можно отлаживать http(s) соединение с помощью -v. Примеры: 

curl http://artscene.textfiles.com/asciiart/unicorn 

Единорог! 

curl -v http://127.0.0.1:12345 

Соединяемся с сервером из примера netcat. В консоле сервера увидим http запрос. После этого все остановиться curl будет ждать ответ. И если вы руками его введете покажет его. 

Заключение 

Автор уверен, если вы изучите эти утилиты вы не только развлечетесь, но и узнаете много нового. Я вот, например узнал адрес, где можно посмотреть на единорога. В общем спасибо за внимание если понравилось лайк, шер. 

Источник: https://habr.com/ru/post/699332/


Интересные статьи

Интересные статьи

В этой небольшой серии статей я попытаюсь пролить свет на тему построения Embedded Linux устройств, начиная от сборки загрузчика и до написания драйвера под отдельно разр...
Выбор будет не между Windows и Linux, а что сначала загружается: Hyper-V или KVM, а уже стеки Windows и Ubuntu будут хорошо совместимы друг с другом. В последнее время разверн...
Линус Торвальдс наконец-то представил релиз ядра Linux 5.8. О планируемых новшествах мы писали задолго до этого события, но теперь планы стали реальностью, так что изменения можно...
Знакомьтесь, это Дима. Он тимлид и отвечает за техдолг и код-ревью, за планирование и технические процессы, за выполнение разработчиками задач в срок — мотивирует, нанимает и, если надо, увольняе...
Одной из «киллер-фич» 12й версии Битрикса была объявлена возможность отдавать статические файлы из CDN, тем самым увеличивая скорость работы сайта. Попробуем оценить практический выигрыш от использова...