Почему опция '-e' отсутствует в netcat-openbsd?


13

Почему -eопция отсутствует в netcat-openbsdпакете? Существует netcat-traditionalпакет , но он имеет много особенностей из пакета OpenBSD отсутствует. Я использую Linux Mint 16.

Кто-нибудь знает, почему этого не хватает? Это удаляет довольно большую особенность netcat.


Ответы:


17

Потому что есть разные версии программы.

Не существует «стандарта», описывающего, какие параметры netcatдолжен поддерживать, в отличие от многих других стандартных утилит, указанных в POSIX. У вас есть netcatверсии от OpenBSD, FreeBSD, GNU netcat и так далее.

Для варианта OpenBSD руководство отмечает, что :

There is no -c or -e option in this netcat, but you still can execute a
 command after connection being established by redirecting file descriptors.
 Be cautious here because opening a port and let anyone connected execute
 arbitrary command on your site is DANGEROUS. If you really need to do this,
 here is an example:

 On ‘server’ side:

       $ rm -f /tmp/f; mkfifo /tmp/f
       $ cat /tmp/f | /bin/sh -i 2>&1 | nc -l 127.0.0.1 1234 > /tmp/f

 On ‘client’ side:

       $ nc host.example.com 1234
       $ (shell prompt from host.example.com)

 By doing this, you create a fifo at /tmp/f and make nc listen at port 1234
 of address 127.0.0.1 on ‘server’ side, when a ‘client’ establishes a
 connection successfully to that port, /bin/sh gets executed on ‘server’
 side and the shell prompt is given to ‘client’ side.

 When connection is terminated, nc quits as well. Use -k if you want it keep
 listening, but if the command quits this option won't restart it or keep nc
 running. Also don't forget to remove the file descriptor once you don't
 need it anymore:

       $ rm -f /tmp/f

0

последние версии, которые я нашел определение в некоторых источниках для netcat, также включают команду execute. обычно это отключено по соображениям безопасности.

но я нашел альтернативный способ обойти

http://www.commandlinefu.com/commands/view/11061/emulating-netcat-e-netcat-traditional-or-netcat-openbsd-with-the-gnu-netcat

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.