Реализация всех portscanning методов в C# / Создание необработанных низкоуровневых пакетов в C#

Я пытаюсь записать сканер портов в C#. Я провел некоторое исследование на методах сканирования портов.

Если Вам интересно, это ссылки, которые я нашел полезным:

  1. ^PPT Presentation^ http://www.cs.wright.edu/~pmateti/InternetSecurity/Lectures/Probing/index.html
  2. http://www.auditmypc.com/freescan/readingroom/port_scanning.asp
  3. (старый) NMAP - Искусство сканирования портов: http://nmap.org/nmap_doc.html
  4. Методы сканирования портов: http://nmap.org/book/man-port-scanning-techniques.html
  5. Сканирование портов интерактивный пример: http://www.osischool.com/concept/communication/port-scanning

Прибытие в мой вопрос. Это методы сканирования портов:

  1. Подключение TCP () сканирование
  2. TCP сканирование SYN
  3. TCP сканирование FIN
  4. РОЖДЕСТВЕНСКОЕ сканирование TCP
  5. Сканирование ПУСТОГО УКАЗАТЕЛЯ TCP
  6. Сканирование окна TCP
  7. Сканирование UDP

Но я реализовал только TCP Connect() Scan(показанный здесь). Но это мертво медленный (берущий> 0,5 секунды для тестирования каждого порта). Для реализации отдыха методов мне нужен доступ пакетного уровня. Я должен создать необработанные пакеты. Действительно ли возможно сделать это в C#? Раз так, как сделать это?

6
задан claws 21 January 2010 в 14:07
поделиться

2 ответа

Это казалось хорошей оберткой вокруг великой библиотеки WinPCap, когда я использовал ее давным-давно:

http://sourceforge.net/projects/sharppcap/

Я уверен, что теперь она лучше.

2
ответ дан 17 December 2019 в 18:16
поделиться

Для доступа к необработанным пакетам вам понадобится драйвер (NDIS) или что-то в этом роде. Вам также может понадобиться использовать Native Win32 API и P/Invoke.

Вот кое-что, что поможет: http://www.codeproject.com/KB/IP/sendrawpacket.aspx

1
ответ дан 17 December 2019 в 18:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: