Создаем сокеты и серверы за считанные секунды
В Linux с сокетами (сетевыми соединениями) можно работать как с файлами. Например, зная, что на порту 3333 компьютера с IP-адресом 192.168.0.200 ждет запросов некий сервер, можно послать ему информацию точно так же, как мы записали бы ее в обычный файл:
Может случиться так, что на компьютере отсутствует псевдоустройство /dev/tcp (или /dev/udp). В таком случае его легко создать командой:
(от имени корневого пользователя, конечно же).
Может показаться, что это всё абстрактные рассуждения, которые никогда не пригодятся. Что это, например, за гипотетический сервер, который принимает странные фразы типа 'Hello, Mtaalamu!'? Да ничего гипотетического, такой сервер можно создать за считанные секунды с помощью команды netcat (сокращенно nc):
— и вот уже на вашем хосте ждет входящей информации сервер.
Пошлем на него текст вышеописанным способом:
Как видим, сервер отреагировал как и положено, вывел информацию на экран и выключился:
У этой технологии широкие возможности по решению сиюминутных админских проблем. Вот, например, как перебросить файл с компьютера на компьютер. На принимающем хосте запускаем
На отправляющем:
Поскольку шифрование в этой схеме отсутствует, работает она быстрее, чем копирование по ssh. Безопасность же гарантирует то, что порт открывается временно, номер его можно назначить непредсказуемым образом и по окончании операции он автоматически закрывается.
echo 'Hello, Mtaalamu!' > /dev/tcp/192.168.0.200/3333
Может случиться так, что на компьютере отсутствует псевдоустройство /dev/tcp (или /dev/udp). В таком случае его легко создать командой:
mknod /dev/tcp c 30 36
(от имени корневого пользователя, конечно же).
Может показаться, что это всё абстрактные рассуждения, которые никогда не пригодятся. Что это, например, за гипотетический сервер, который принимает странные фразы типа 'Hello, Mtaalamu!'? Да ничего гипотетического, такой сервер можно создать за считанные секунды с помощью команды netcat (сокращенно nc):
nc -l -p 3333
— и вот уже на вашем хосте ждет входящей информации сервер.
Пошлем на него текст вышеописанным способом:
Как видим, сервер отреагировал как и положено, вывел информацию на экран и выключился:
У этой технологии широкие возможности по решению сиюминутных админских проблем. Вот, например, как перебросить файл с компьютера на компьютер. На принимающем хосте запускаем
nc -l -p 3333 > /tmp/test.txt
На отправляющем:
cat test.txt > /dev/tcp/192.168.2.2/3333
Поскольку шифрование в этой схеме отсутствует, работает она быстрее, чем копирование по ssh. Безопасность же гарантирует то, что порт открывается временно, номер его можно назначить непредсказуемым образом и по окончании операции он автоматически закрывается.
Комментарии (3)
RSS свернуть / развернутьДаже и не знал что есть такая команда и устройство /dev/tcp
Gangsta
Markony
FREExLOADER
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.