Можно ли создать ARP спуфер на C++ при помощи сокетов? я недавно задался вопросом, воможно ли создать ARP spoofer на C++, используя библиотеку socket. Можете дать ссылку на источник, если такое возможно, я просто ничего не нашел?

10 Июн 2022 в 19:52
124 +1
0
Ответы
1

Да, можно создать ARP спуфер на C++ с использованием сокетов. Для этого вы можете использовать библиотеку pcap, которая позволяет работать с сетевым трафиком на более высоком уровне, чем просто сокеты.

Вот пример кода на C++ с использованием библиотеки pcap для создания ARP спуфера:

#include <pcap.h>
#include <netinet/in.h>
#include <netinet/if_ether.h>
#include <netinet/ip.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <string.h>
void arpSpoof(const u_char *pkt_data, struct pcap_pkthdr pkt_header)
struct ether_header *eth_hdr = (struct ether_header *)pkt_data
struct ether_arp *arp_hdr = (struct ether_arp *)(pkt_data + sizeof(struct ether_header))
if (ntohs(eth_hdr->ether_type) == ETHERTYPE_ARP && ntohs(arp_hdr->arp_op) == ARPOP_REQUEST)
// Spoof ARP repl
// Здесь нужно создать фальшивый ARP ответ и отправить его на целевой IP-адре

int main()
char dev[] = "eth0"
char filter_exp[] = "arp"
char errbuf[PCAP_ERRBUF_SIZE]
pcap_t *handle
struct bpf_program fp
bpf_u_int32 mask
bpf_u_int32 net
if (pcap_lookupnet(dev, &net, &mask, errbuf) == -1)
printf("Couldn't get netmask for device %s: %s\n", dev, errbuf)
net = 0
mask = 0

handle = pcap_open_live(dev, BUFSIZ, 1, 1000, errbuf)
if (handle == NULL)
printf("Couldn't open device %s: %s\n", dev, errbuf)
return 1

if (pcap_compile(handle, &fp, filter_exp, 0, net) == -1)
printf("Couldn't parse filter %s: %s\n", filter_exp, pcap_geterr(handle))
return 1

if (pcap_setfilter(handle, &fp) == -1)
printf("Couldn't install filter %s: %s\n", filter_exp, pcap_geterr(handle))
return 1

pcap_loop(handle, 0, arpSpoof, NULL)
pcap_close(handle)
return 0
}

Обратите внимание, что этот код представляет собой простой пример и требует доработки для создания полноценного ARP спуфера. Убедитесь, что вы понимаете правовые аспекты использования подобного инструмента в вашей стране перед применением.

16 Апр в 18:20
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 90 663 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир