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

10 Июн 2022 в 19:52
129 +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 reply
// Здесь нужно создать фальшивый 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
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 548 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир