⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 file.c

📁 测试在LINUX下是否有ARP攻击!测试在LINUX下是否有ARP攻击!
💻 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 + -