Здравствуйте, тут у меня возникло несоклько вопросов: 1) как установить tcp соеденение с помощью сырых сокетов, у меня получаеться так шлем SYN, получаем SYN, ACK, но в ответ моя система (без моего ведома) посылает RST, и соеденение закрываеться, в чем проблема? система linux, язык си 2) написал скнаер по порту с помощью посылки пакета SYN компам, но в пределах своей подсети я получаю спокойно ответы (сообщения мои доходят), а за пределами через роутер, толи мои сообщения не доходят, толи мне сообщения не идут (в итоге овтета типа SYN,ACK, или RST,ACK нету), по скорости пробывал замедлять (изначально цикл, пока не отправяться все месаги), но результат нулевой - иногба приходит 2 - 3 ответа, хотя сеть достаточно большая... как может роутер на FreeBSD фильтрвоать сообщения?
По поводу первого вопроса - тут и ежу понятно что будет RST. Откуда системе знать что порт открыт? По поводу второго - не знаю как на роутере но даже в современной винде есть защита от SYN флуда. В итоге из сотни пакетов хорошо если 2 пропустится
по поводу закрытых портов: дело в том что я даже с помощью iptables (файр в линуксе) открывал порт - результат нулевой. по поводу syn флуда, тогда как устроенны все сканеры тех же расшаренных ресурсов? пусть они и реализованны на sock stream, но тем не менее syn же отсылаеться, а у меня даже отсылая syn с промежутком в СЕКУНДУ, ничего не работает.. как решить данную проблему?
легко сказать )) просто, саму суть можешь пояснить? просто идея такова: отсылаем всему диапозону сины, пока кто нить не ответить syn,ack и после этого начинаем считывать инфу о ресрсах, и пр... если RST победить не удасться, тогда можно создать отдельный сокет и уже получить инфу, вроде тоже достаточно быстро получиться...
вкратце: 1. Находим свободную машину с хотя бы одним открытым портом, которая не имеет сетевой активности на этом порту (отсюда название Idle) 2. Получаем текущее занчение IPID с порта машины-зомби (п.1) 3. Посылаем пакет на порт тестируемой машины а в пакете указываем обратный адрес не свой, а зомби 4. Считываем текущее значение IPID с порта зомби Итого: если значение увеличилось, порт доступен (открыт или фильтрован) реализация есть в Nmap При этом, ты не палишь свой IP
конечно интересно, но я не хочу прятать свой айпи, и прочая глупость, админы знакомые , я хочу написать сканер расшаренных ресурсов, но только быстрый (надоело по пол часа ждать их), а вот syn не пропускаються, как бы реализовать безприпятственный проход пакетов?
на www.insecure.org скачай nmap и запусти его с командой nmap --help, или на сайте посмотри - там мануалы есть
ftp-data 20/tcp # File Transfer [Default Data] ftp-data 20/udp # File Transfer [Default Data] ftp 21/tcp # File Transfer [Control] ftp 21/udp # File Transfer [Control]
с портов - ты под *nix'ами? если сканировать тоже *nix предполагается, можно и NULL скан через nmap заюзать (возможно роутер не будет резать)
изначально сказал что опд никсами ) но хотелосб и портабельность обечпечить, а то надоели все эти тормознутые сканера, которых по пол часа ждать нужно а за то что ftp рабоатет и на udp - спасибо, незнал