Как я могу создать свое собственное TCP-соединение (просто отправьте TCP-запрос и получите результат)? - PullRequest
1 голос
/ 22 февраля 2011

Я хочу подключиться к какому-либо серверу и выяснить, открыт ли специальный порт или нет, поэтому я хочу отправить TCP-пакет с установленным флагом SYN, получить пакет результатов с сервера и проверить флаг результата, чтобы выяснить, является ли портоткрыт, закрыт или отфильтрован?Теперь мой вопрос: как мне создать это TCP-соединение (мне просто нужно двухстороннее соединение, а не трехстороннее рукопожатие), пожалуйста, покажите мне, как я могу создать это специальное соединение и как я могу проверить специальный флаг и как я могу создать свое TCP-соединение смой желаемый флаг.

Ответы [ 3 ]

1 голос
/ 22 февраля 2011

Я предлагаю начать с файла scan_engine.cc из nmap исходный код; выполните функцию isRawScan().

Мое быстрое сканирование источника указывает на то, что вам необходимо создать SOCK_RAW сокетов и установить pcap фильтр захвата пакетов для чтения ответные пакеты. (Возможно, фильтр pcap просто для удобства / скорости, но если команда nmap решила пойти по этому пути, у них, вероятно, были веские причины.)

1 голос
/ 22 февраля 2011

Вы не говорите, на какой платформе вы находитесь, но термин, который вам нужно найти, это «необработанные сокеты».

0 голосов
/ 22 февраля 2011

Используйте Nmap для поиска открытых портов.

...