#include <>
#include <>
#include <>
#include <>
#include <>
#include <>
#include <>
#include <>
#include <>
#include <sys/>
#include <sys/>
#include <sys/>
#include <sys/>
#include <sys/>
#include <sys/>
#include <sys/>
#include <linux/>
#include <linux/>
#include <linux/>
#include <linux/>
#include <linux/>
#include </>
#include <arpa/>
#define src_addr ""
#define device "eth0"
#define fill_buf "aaaaaaaaaaaa"
int socket_id;
char *target = src_addr;
int send_count = 0;
int recv_count = 0;
struct in_addr src, dst;
struct sockaddr_ll me, he;
struct timeval send_time, recv_time;
struct in_addr get_src_ip(char * devices)
{
struct sockaddr_in saddr;
int sock_id = socket(, SOCK_DGRAM, 0);
if (sock_id < 0) {
perror("socket");
exit(2);
}
if (devices) {
if (setsockopt(sock_id, SOL_SOCKET, SO_BINDTODEVICE, device, strlen(device)+1)
== -1)
perror("W ARNING: interface is ignored");
}
int alen = sizeof(saddr);
memset(&saddr, 0, sizeof(saddr));
= htons(0x1000);
= ;
if (connect(sock_id, (struct sockaddr*)&saddr, sizeof(saddr)) == -1) {
perror("connect");
exit(2);
}
if (getsockname(sock_id, (struct sockaddr*)&saddr, &alen) == -1) {
pe
arp协议的c语言实现源代码 来自淘豆网www.taodocs.com转载请标明出处.