Toha
написал 14 мая 2015 года в 21:24 (6605 просмотров)
Ведет себя
неопределенно; открыл 23 темы в форуме, оставил 68 комментариев на сайте.
Захотелось мне между двумя железками передавать сообщения и реагировать на них.(подробности желания уже изложены на 2 форумах. по решению Д.Шурупова могу или выложить ссылки, или скопировать сюда)
Показалось мне отличным решением использовать netcat -l и перенаправить ввод-вывод в скрипт awk.
Пробую сделать скрипт awk_script:
#!/usr/bin/awk -f /hello/ {print "ehlo"}
и перенаправить вывод netcat в этот скрипт:
netcat -lvp 12345 -e 'awk -f /opt/sbin/servawk'
со стороны клиента получаю:
nc 192.168.1.1 12345 awk_script: applet not found
Пробовал поставить gawk, симптомы те же самые…
Что копать, куда искать?
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
Что то совсем глухо… Живые есть?
У меня в netcat-е вообще нет ключа -e (и в тех man-ах которые есть его тоже не видно).
Вы точно уверены, что именно так?
PS. А если по шагам диагностировать?
сделать скрипт исполняемым (/opt/sbin/servawk), попробовать запустить его и проверить результат.
Потом попробовать запустить netcat так: (если у вас -e работает) netcat -lvp 12345 -e /opt/sbin/servawk
?
Вот так вот под debian работает
Правда ответ не даёт, пока соединение не закроешь.
У меня WRT-подобный mipsel linux. В busebox скомпилирована awk. а netcat внешняя программа.
С учетом всех глюков, наверное будет проще наговнокодить свою серверную часть на perl/python
Сегодня вечером попробую на роутере дома.
Попробовал. (openwrt 12.09, attitude adjustment).
Результаты ровно как описанные в начальном посте.
Решение:
так работает.
Ты крут! Мне такая, хитро закольцованная, конструкция в голову не приходила.
Огромный респект! это ж теперь я не одну проблему смогу решить.
СПАСИБО!
Пожалуйста, изобретение не моё, если что.
ну все новое, это хорошо забытое старое.
Я такую конструкцию не нашел (хотя перенаправление ввода-вывода гуглил, но видимо недостаточно усердно).
с каждым из операторов <,|,> по-отдельности знаком, а общую конструкцию из них сообразить не смог.
Так что, извини, но все лавры первооткрывателя я буду вешать на тебя ;)
А если поделишься ссылочкой откуда увидел буду еще благодарнее. Может еще чему умному научусь.
man netcat в debian :) Я не поленился его дочитать.
http://morgawr.github.io/hacking/2014/03/29/shellcode-to-reverse-bind-with-netcat/ — и вот здесь.
Научился выключать домашний сервер «одним движением». (ну быдлокодер я…)
cat /etc/init.d/wait_shtw
не забыть после создания:
cat /root/testscript.awk
Код:
Теперь при http GET на ip_of_server:12345/poweroff сервак выдает ответ HTTP/1.1 200 OK и отрубается.
Для одной кнопки использую Tasker под андроид с запросом httpGET и обработкой ответа (показывает уведомление с вибрацией), запускается нажатием на виджет.
Жду критики…