📄 file.c
字号:
#include <stdio.h>
char* mac_addr[1000];
read_file(char* filename)
{
//fstream f_dir;
FILE *file_stream = NULL;
file_stream = fopen(filename, "r");
if(file_stream == NULL)
{
printf("can not open file ! \n");
return;
}
//f_dir.open(filename, ios::in |ios::out | ios::app);
int line_num=0;
int i=0;
int j=0;
while(feof(file_stream) == 0)
{
char * mac = malloc(256);
//f_dir.getline(charword,256);//读出文件中的一行
fgets(mac,255,file_stream);
//printf("line:%s\n",mac);
mac_addr[line_num]=mac;
line_num++;
}
//printf("line num : %d \n",line_num);
line_num--;
fclose(file_stream);
int isARP = 0;
for(i;i<line_num;i++)
{
for(j=i+1;j<line_num;j++)
{
char mac_perline_1[18];
char mac_perline_2[18];
char * line_1 = mac_addr[i];
char * line_2 = mac_addr[j];
int position = 0;
int count = 0;
//printf("line_1:%s\n",line_1);
//printf("line_2:%s\n",line_2);
while(line_1[position]!='\n')
{
//printf("position:%d\n",position);
if(line_1[position]==' ')
{
count++;
if(count == 3)
{
//printf("befor copy \n");
memcpy(mac_perline_1,line_1+position+1,17);
//printf("bbbbb\n");
mac_perline_1[17]='\0';
//printf("mac addr1 %s\n",mac_perline_1);
break;
}
}
position++;
}
position = 0;
count = 0;
while(line_2[position]!='\n')
{
if(line_2[position]==' ')
{
count++;
if(count == 3)
{
memcpy(mac_perline_2,line_2+position+1,17);
mac_perline_2[17]='\0';
//printf("mac addr2 %s\n",mac_perline_2);
break;
}
}
position++;
}
if(strcmp(mac_perline_2,mac_perline_1)==0)
{
printf("same MAC_ADDR find in line %d and %d \n",i,j);
printf(" %s %s \n",mac_addr[i],mac_addr[j]);
isARP = 1;
}
}
}
if(isARP == 0)
{
printf("no ARP ATACK \n");
}else
{
printf("ARP ATACK !!\n");
}
for(i=0;i<line_num+1;i++)
{
free(mac_addr[i]);
}
}
main(int argc, char *argv[])
{
int err, nargc, i;
if(argc<2)
{
printf("please input the filename\n");
return -1;
}
read_file(argv[1]);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -