5 супер полезных сетевых утилит linux
Утилита управляет интерфейсами, сетевыми устройствами и туннелями. Всем сетевым стеком linux. Например:
Покажет список всех сетевых адресов. Тоже самое делает утилита ifconfig без параметров.
Покажет таблицу роутинга. Тоже самое сделает команда route.
Поднимает интерфейс eth0. Это можно также сделать с помощью ifconfig.
Так зачем она нужна если все ее команды можно выполнить с помощью других утилит? Дело в том, что во многие компактные дистрибутивы (например Alpine или openwrt) не используют ifconfig, route и другие “большие” утилит. Там оставляют только ip. Вот с помощью нее и придется выполнять все сетевые задачи.
Полное имя netcat - на него она тоже откликается. Это утилита, позволяет слушать и выполнять TCP и UDP соединении.
И так что может netcat?
Открываем одно окно терминала и делаем там nc -l 12345 это будет наш сервер. Отрываем другое окно и пишем в нем nc 127.0.0.1 12345 — это наш клиент. Печатаем там “Hello!” нажимаем enter. В первом окне видим эту фразу. Ура! Мы написали однонаправленный чат.
Эта утилита пригодиться чтобы проверить жив ли сервер и слушает ли от вообще на этом порту? С помощью nc можно переслать файл и даже просканировать порты. Http сервер еще можно написать.
Это труба, которая позволяет соединить два сокета между собой. 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 он вам скорее всего поможет.
Эта утилита показывает текущее состояние сетевого стека. Она даст вам ответ на вопросы: что у меня там на порту 9081 висит? netstat -nltp Что с моими tcp соединениями и кто прямо сейчас ко мне подключен? netstat -atp
У этой утилиты есть младший (или старший по возможностям) брат ss посмотрите на него тоже может он понравиться больше.
Утилита для передачи файлов. Так написано в ее описании. Чем же она замечательна? Она умеет кучу протоколов: 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 -v http://127.0.0.1:12345
Соединяемся с сервером из примера netcat. В консоле сервера увидим http запрос. После этого все остановиться curl будет ждать ответ. И если вы руками его введете покажет его.
👉 @sysadminof
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 будет ждать ответ. И если вы руками его введете покажет его.
👉 @sysadminof
👍13🥰1
Media is too big
VIEW IN TELEGRAM
Wi-Fi по-человечески
1. Краткая история Wi-Fi. Появление nice-to-have, must have, critical.
2. Подходы к проектированию Wi-Fi в разные периоды.
3. Личный опыт построения Wi-Fi сетей.
4. 7 частых ошибок в проектировании и построении Wi-Fi, которых следует избегать.
👉 @sysadminof
1. Краткая история Wi-Fi. Появление nice-to-have, must have, critical.
2. Подходы к проектированию Wi-Fi в разные периоды.
3. Личный опыт построения Wi-Fi сетей.
4. 7 частых ошибок в проектировании и построении Wi-Fi, которых следует избегать.
👉 @sysadminof
Media is too big
VIEW IN TELEGRAM
Полноценный почтовый сервер за 15 минут
Лёгкий вариант установки и настройки полноценного почтового сервера iRedMail на основе Postfix, Dovecot & SOGo.
👉 @sysadminof
Лёгкий вариант установки и настройки полноценного почтового сервера iRedMail на основе Postfix, Dovecot & SOGo.
👉 @sysadminof
👍6🗿1
Анатомия GNU/Linux
У меня сложилось впечатление, что многие пользователи GNU/Linux слабо представляют, из чего сделана эта операционная система, поэтому утверждают, что она сляпана из попавшихся под руку кусков. В то же время, архитектура большинства дистрибутивов является устоявшейся и регламентируется рядом стандартов, включая стандарт графического окружения freedesktop.org и Linux Standard Base, расширяющий стандарты Unix. Мне при знакомстве с GNU/Linux несколько лет назад для погружения не хватало простой анатомической карты типичного дистрибутива, поэтому я попробую рассказать об этом сам.
https://habr.com/ru/post/531872/
👉 @sysadminof
У меня сложилось впечатление, что многие пользователи GNU/Linux слабо представляют, из чего сделана эта операционная система, поэтому утверждают, что она сляпана из попавшихся под руку кусков. В то же время, архитектура большинства дистрибутивов является устоявшейся и регламентируется рядом стандартов, включая стандарт графического окружения freedesktop.org и Linux Standard Base, расширяющий стандарты Unix. Мне при знакомстве с GNU/Linux несколько лет назад для погружения не хватало простой анатомической карты типичного дистрибутива, поэтому я попробую рассказать об этом сам.
https://habr.com/ru/post/531872/
👉 @sysadminof
Хабр
Анатомия GNU/Linux
Какое-то время назад на Хабре была небольшая волна постов на тему «Почему я [не] выбрал Linux». Как порядочный фанатик я стриггерился, однако решил, что продуктивнее что-нибудь рассказать о своей...
👍3
Привет, админ!👋
Хочешь роста и желаешь сменить свою сферу деятельности на более перспективную и высокооплачиваемую?💰
Попробуй себя в AI!
Нейронки - это более интересные задачи, удаленная работа с высокими зарплатами, а главное - данная профессия будет востребована минимум ближайшие 30 лет!💪
👉Опыт программирования НЕ нужен. С твоими знаниями ты легко вольёшься в тему и напишешь целых 9 нейронок за 3 дня!
Залетай на 🔥бесплатный интенсив по ссылке
Хочешь роста и желаешь сменить свою сферу деятельности на более перспективную и высокооплачиваемую?💰
Попробуй себя в AI!
Нейронки - это более интересные задачи, удаленная работа с высокими зарплатами, а главное - данная профессия будет востребована минимум ближайшие 30 лет!💪
👉Опыт программирования НЕ нужен. С твоими знаниями ты легко вольёшься в тему и напишешь целых 9 нейронок за 3 дня!
Залетай на 🔥бесплатный интенсив по ссылке
😁1🤬1
MU-MIMO Wi-Fi — 13 вещей, которые необходимо знать
Одно из самых существенных и важных нововведений Wi-Fi за прошедшие 20 лет – технология Multi User – Multiple Input Multiple Output (MU-MIMO). MU-MIMO расширяет функциональность появившегося недавно обновления беспроводного стандарта 802.11ac «Wave 2». Безусловно, это огромный прорыв для беспроводной связи. Данная технология помогает увеличить максимальную теоретическую скорость беспроводного соединения от 3,47 Гбит/с в оригинальной спецификации стандарта 802.11ac до 6,93 Гбит/с в обновлении стандарта 802.11ac Wave 2. Это одна из самых сложных функциональностей Wi-Fi на сегодняшний день.
https://bookflow.ru/mu-mimo-wi-fi-13-veshhej-kotorye-neobhodimo-znat/
👉 @sysadminof
Одно из самых существенных и важных нововведений Wi-Fi за прошедшие 20 лет – технология Multi User – Multiple Input Multiple Output (MU-MIMO). MU-MIMO расширяет функциональность появившегося недавно обновления беспроводного стандарта 802.11ac «Wave 2». Безусловно, это огромный прорыв для беспроводной связи. Данная технология помогает увеличить максимальную теоретическую скорость беспроводного соединения от 3,47 Гбит/с в оригинальной спецификации стандарта 802.11ac до 6,93 Гбит/с в обновлении стандарта 802.11ac Wave 2. Это одна из самых сложных функциональностей Wi-Fi на сегодняшний день.
https://bookflow.ru/mu-mimo-wi-fi-13-veshhej-kotorye-neobhodimo-znat/
👉 @sysadminof
👍4
Изучаем процессы в Linux
В этой статье я хотел бы рассказать о том, какой жизненный путь проходят процессы в семействе ОС Linux. В теории и на примерах я рассмотрю как процессы рождаются и умирают, немного расскажу о механике системных вызовов и сигналов.
Данная статья в большей мере рассчитана на новичков в системном программировании и тех, кто просто хочет узнать немного больше о том, как работают процессы в Linux.
👉 @sysadminof
В этой статье я хотел бы рассказать о том, какой жизненный путь проходят процессы в семействе ОС Linux. В теории и на примерах я рассмотрю как процессы рождаются и умирают, немного расскажу о механике системных вызовов и сигналов.
Данная статья в большей мере рассчитана на новичков в системном программировании и тех, кто просто хочет узнать немного больше о том, как работают процессы в Linux.
👉 @sysadminof
👍7
Powershell мониторинг событий 41, 1074, 6008
Мониторинг по событию 41
Мониторинг по событию 1074
Мониторинг по событию 6008
👉 @sysadminof
Мониторинг по событию 41
Get-EventLog -LogName System -After (((Get-Date).addDays(-2)).date) -Before (Get-Date) | where {$_.EventId -eq 41} |
ForEach-Object {
$flam = New-Object PSObject | Select-Object Date
if ($_.ReplacementStrings[4]) {
$flam.Date = $_.TimeGenerated
$flam
}
}
$StrData=[string]$flam.Date
$message = $StrData + " " + "Сервер: $env:computername" + " " + "Система перезагрузилась, завершив работу с ошибками. Возможные причины ошибки: система перестала отвечать на запросы, произошел критический сбой или неожиданно отключилось питание."Мониторинг по событию 1074
$Events = Get-EventLog -LogName System -After (((Get-Date).addDays(-2)).date) -Before (Get-Date) | where {$_.EventId -eq 1074}
$FlamDat = New-Object System.Management.Automation.PSObject
$FlamDat | Add-Member NoteProperty Time ($null)
$FlamDat | Add-Member NoteProperty User ($null)
$FlamDat | Add-Member NoteProperty Action ($null)
$Events | %{
$FlamDat.Time = $_.TimeGenerated
$FlamDat.User = $_.ReplacementStrings[6]
$FlamDat.Action = $_.ReplacementStrings[4]
}
$StrFlamDat=[string]$FlamDat.Time
$message = $env:computername + " " + $StrFlamDat + " " + $FlamDat.Action + " " + $FlamDat.UserМониторинг по событию 6008
$Events = Get-EventLog -LogName System -After (((Get-Date).addDays(-2)).date) -Before (Get-Date) | where {$_.EventId -eq 6008}
$FlamDat = New-Object System.Management.Automation.PSObject
$FlamDat | Add-Member NoteProperty Time ($null)
$FlamDat | Add-Member NoteProperty User ($null)
$FlamDat | Add-Member NoteProperty Action ($null)
$Events | %{
$FlamDat.Time = $_.TimeGenerated
$FlamDat.User = $_.ReplacementStrings[6]
$FlamDat.Action = $_.Message
}
$StrFlamDat=[string]$FlamDat.Time
$message = $env:computername + " " + $StrFlamDat + " " + $FlamDat.Action + " " + $FlamDat.User👉 @sysadminof
👍9
Рекомендуем к прочтению книгу Александра Бындю "Антихрупкость в IT"
Эта книга — результат многолетнего опыта построения IT-продуктов. И прежде всего она о том, как выстроить процессы разработки IT-систем таким образом, чтобы успевать вовремя подстроиться под любые изменения.
В её основе — описание работающих практик, примеры из реальных проектов, анализ ошибок и выводы. В книге собраны рекомендации для владельцев бизнеса и разработчиков. Первые приобретут систематизированные знания о том, как правильно взаимодействовать с IT, а вторые — как делать хорошо и не делать плохо.
Сайт издания
Ознакомиться с книгой
Эта книга — результат многолетнего опыта построения IT-продуктов. И прежде всего она о том, как выстроить процессы разработки IT-систем таким образом, чтобы успевать вовремя подстроиться под любые изменения.
В её основе — описание работающих практик, примеры из реальных проектов, анализ ошибок и выводы. В книге собраны рекомендации для владельцев бизнеса и разработчиков. Первые приобретут систематизированные знания о том, как правильно взаимодействовать с IT, а вторые — как делать хорошо и не делать плохо.
Сайт издания
Ознакомиться с книгой
👍2