2017-01-18 18 views
-2

Я переписываю это, потому что мой последний (который я удалил) неправильно объяснил.ARP Spoofing in C#

Итак, в настоящее время я делаю инструмент Network Administration для своей школы, как задание на самодельную домашнюю работу (мне скучно).

В настоящее время имеет следующие инструменты:

  • IP адрес пинг инструмент
  • NSLookup инструмент
  • Трассировка инструмент
  • Geo-Location инструмент
  • ARP спуфинга инструмент
  • Узел кикер
  • Создатель средства удаленного администрирования

Я не начинал ни одного из них, но, тем не менее, я сначала получил бы самую сложную из них (ARP Spoofing).

Я установил дизайн; Он имеет - ввод IP-адреса - кнопка для запуска и остановки подмены - метки IP-адреса и MAC-адреса - DataGridView, в котором есть столбец Connection, столбец (In), столбец (Out) и MAC адресная колонка.

Единственное, что осталось это код ..

Но я хочу знать, как я мог бы сделать это в Visual Studio, с помощью C#.

Мне нужна конкретная DLL?

Какой процесс я должен выполнить для достижения этой цели?

+0

Кроме того, извините, мне пришлось использовать VPN, чтобы я мог публиковать до 90 минут:/ – MaliciouZzHD

+0

Запросы ARP транслируются, поэтому каждый хост получит их. Невозможно гарантировать, что ваше приложение получит их до шлюза. Даже если ваш инструмент получает запрос и отвечает первым, второй ответ на запрос ARP может переопределить первый. –

+0

Это прекрасно, я просто хочу знать, как: D – MaliciouZzHD

ответ

2

У меня создается впечатление, что вы действительно не понимаете, как работают сетевые протоколы.

В локальной сети трафик, предназначенный для локальной сети, поставляется по MAC-адресу, и он никогда не проходит через маршрутизатор. Через маршрутизатор проходит только трафик, предназначенный для другой сети. так что даже если вы сможете захватить весь трафик исходящего маршрутизатора, вы не сможете захватить трафик, полученный в локальной сети, и не будете захватывать входящий трафик маршрутизатора.

У вас возникла проблема с включением локальной сети. Переключатели - это прозрачные устройства; они не поддерживают таблицы ARP и не смотрят на IP-адреса. Коммутаторы поддерживают таблицу MAC-адресов, у которой есть MAC-адреса, и на каком интерфейсе последний MAC-адрес был замечен. Если два хоста отправляют трафик с одним и тем же исходным MAC-адресом, последний отправитель получит следующий трафик, предназначенный для этого MAC-адреса. Это приведет к тому, что таблица MAC-адресов будет постоянно изменяться, полностью разрушая любой трафик, предназначенный для этого MAC-адреса.

То, что вы предлагаете, будет работать неправильно. Что вы хотите сделать, так это настроить интерфейс SPAN на коммутаторе для зеркального отображения трафика в приложение.


Edit:

Вы постоянно менять вопрос, и вы даже удалили свой первый вопрос об этом.Реальный способ сделать то, что вы, похоже, хотите сделать с вашим приложением, - создать агент для хостов в сети. Это то, что делают большинство коммерческих приложений. Сетевые протоколы не предназначены для обнаружения устройств в сети. Напротив, они, как правило, предназначены для обеспечения безопасности и конфиденциальности. Существуют и другие протоколы, предназначенные для заполнения отверстий, которые позволят вашему приложению работать. Например, существует множество сетевых коммутаторов, которые поддерживают такие функции, как Private VLAN, а хост в частной VLAN не может видеть или связываться с каким-либо другим хостом в той же VLAN.

+0

Извините, мне 14 лет, я не знаю, что я делаю, я должен просто сдаться. Это то, что большинство людей говорят в любом случае – MaliciouZzHD

+0

Я никогда не говорил ничего подобного. Вы учитесь, задавая вопросы и читаете ответы. Я дал вам ответ, из которого вы можете узнать. –

+0

Нет, все в порядке, я просто сделаю что-то еще. Спасибо в любом случае :) – MaliciouZzHD