Automatizando configuraÁ„o e conex„o wireless

Publicado por Cristhoffer (ķltima atualizaÁ„o em 08/07/2016)

[ Hits: 2.225 ]

Homepage: fb.com/cristhoffer.correa.31

Download 2wireless.c

Download 1466198765.2w-0.60.c (vers„o 2)




Código simples, com algumas funções e que visa tornar ainda mais fácil a configuração do wpa_supplicant.

Este programa lê alguns dados fornecidos pelo usuário como ssid/usuário/login/interface etc.

Escreve alguns arquivos e faz a conexão com base nestes dados; obtendo o endereço por dhcp.

Suporte para as encriptações Open, WEP e WPA/WPA2.

  



Versűes atualizadas deste script

Vers„o 2 - Enviado por Cristhoffer em 17/06/2016

Changelog: Pequeno cůdigo C para configurar e conectar dispositivos "Wireless" ŗ Internet, abertas ou protegidas por protocolos WEP e/ou WPA/WPA2.

TŪtulo em InglÍs, Original do Autor: This is a small C code to configure and connect wireless device to the internet through Open, WEP and WPA/WPA2 protocol.

Vers„o melhorada do 2wireless. Nesta vers„o conta com funÁűes como:
Suporte aos protocolos wireless Open, WEP e WPA/WPA2.

Roteamento estŠtico usando processos externos.

Manage dos arquivos de configuraÁ„o custom.

(disponŪvel para BSD/Unix systems)
http://exp0sed.esy.es/C/2wireless/2w-0.60_unix.c

Download 1466198765.2w-0.60.c


Esconder cůdigo-fonte

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#define MAX 100
#define MIN 50
FILE *wireless_conf;
FILE *custom_path_out;
FILE *wpa_bin;
char custom_path_outputopen[MIN] = "/etc/wpa_supplicant/custom_open";
char custom_path_outputwep[MIN] = "/etc/wpa_supplicant/custom_wep";
char custom_path_outputwpa[MIN] = "/etc/wpa_supplicant/custom_wpa";
char default_path_wpa[MIN] = "/etc/wpa_supplicant/default_wpa.conf";
char default_path_wep[MIN] = "/etc/wpa_supplicant/default_wep.conf";
char default_path_open[MIN] = "/etc/wpa_supplicant/default_open.conf";
char wpa_supplicant[MIN] = "/usr/bin/wpa_supplicant";

int associate_open(){
†††char ssid[MIN];
†††char custom_path[MAX];
†††char op_path[1];

†††printf("Network ssid: ");
†††__fpurge(stdin);
†††if(scanf("%[a-zA-Z0-9/,.|_-]%*[^\n]%*1[\n]",ssid)==1 && strlen(ssid)>1)
††††{
††††††††__fpurge(stdin);
††††††††printf("default/custom path file (d/c): ");
†††if(scanf("%[dc]",op_path)==1 && strlen(op_path)==1)
††††{
††††††††if(op_path[0] == 'c')
†††{
††††††printf("Path (with name file): ");
††††††__fpurge(stdin);
††††††scanf("%s",custom_path);
†††††††if((wireless_conf = fopen(custom_path,"w"))==NULL)
†††††††{
†††††††††fprintf(stderr,"ERROR OPEN custom path: %s\n",strerror(errno));
†††††††††exit(1);
††††††}
††††††else
††††††{
††††††††††fprintf(wireless_conf,"network={\nssid=\"%s\"\nkey_mgmt=NONE\n}\n",ssid);
††††††††††printf("Wireless conf file at: %s\n",custom_path);
††††††if((custom_path_out = fopen(custom_path_outputopen,"w"))==NULL)
††††††††{
††††††††††††fprintf(stderr,"ERROR failed to create output file: %s\n",strerror(errno));
††††††††††††exit(1);
††††††††}
††††††††else
††††††††{
††††††††††††fprintf(custom_path_out,"%s\n",custom_path);
†††††††}
††††}
}
††††if(op_path[0] == 'd')
††††{
††††††if((wireless_conf = fopen(default_path_open,"w"))==NULL)
†††††††{
†††††††††fprintf(stderr,"ERROR OPEN default path: %s\n",strerror(errno));
†††††††††exit(1);
††††††}
††††††else
††††††{
††††††††††fprintf(wireless_conf,"network={\nssid=\"%s\"\nkey_mgmt=NONE\n}\n",ssid);
††††††††††printf("Wireless conf file at: %s\n",default_path_open);
†††††††}
†††}
}
else
{
††††printf("invalid option.\n");
}}
else
{
††††printf("invalid ssid.\n");
}
fcloseall();
}
int associate_wep(){
†††char ssid[MIN];
†††char pass[MIN];
†††char cmd[MAX];
†††char op_path[1];
†††char custom_path[MAX];

†††printf("Network ssid: ");
†††__fpurge(stdin);
†††if(scanf("%[a-zA-Z0-9/,.|_-]%*[^\n]%*1[\n]",ssid)==1 && strlen(ssid)>1)
††††{
††††††††__fpurge(stdin);
††††††††printf("Network password: ");
†††if(scanf("%[a-zA-Z0-9/,.|_-]%*[^\n]%*1[\n]",pass)==1 && strlen(pass)>1)
††††{
††††††††__fpurge(stdin);
††††††††printf("default/custom path file (d/c): ");
†††if(scanf("%[dc]",op_path)==1 && strlen(op_path)==1)
††††{
††††††††if(op_path[0] == 'c')
†††{
††††††printf("Path (with name file): ");
†††††††scanf("%s",custom_path);
††††††if((wireless_conf = fopen(custom_path,"w"))==NULL)
††††††††{
††††††††††††fprintf(stderr,"ERROR WEP custom path: %s\n",strerror(errno));
††††††††††††exit(1);
††††††††}
††††††††else
††††††††{
††††††††††††fprintf(wireless_conf,"network={\nssid=\"%s\"\nkey_mgmt=NONE\nwep_key0=\"%s\"\n}\n",ssid,pass);
††††††††††††printf("Wireless conf file at: %s\n",custom_path);
††††††if((custom_path_out = fopen(custom_path_outputwep,"w"))==NULL)
††††††††{
††††††††††††fprintf(stderr,"ERROR failed to create output file: %s\n",strerror(errno));
††††††††††††exit(1);
††††††††}
††††††††else
††††††††{
††††††††††††fprintf(custom_path_out,"%s\n",custom_path);
††††††††}
††††}
}
†††if(op_path[0] == 'd')
†††{
††††††if((wireless_conf = fopen(default_path_wep,"w"))==NULL)
††††††††{
††††††††††††fprintf(stderr,"ERROR WEP default path: %s\n",strerror(errno));
††††††††††††exit(1);
††††††††}
††††††††else
††††††††{
††††††††††††fprintf(wireless_conf,"network={\nssid=\"%s\"\nkey_mgmt=NONE\nwep_key0=\"%s\"\n}\n",ssid,pass);
††††††††††††printf("Wireless default file at: %s\n",default_path_wep);
††††††††}
††††}
}}
else
{
††††printf("invalid password.\n");
}}
else
{
††††printf("invalid ssid.\n");
}
fcloseall();
}
int associate_wpa(){
†††char ssid[MIN];
†††char pass[MIN];
†††char cmd[MAX];
†††char op_path[1];
†††char custom_path[MAX];

†††printf("Network ssid: ");
†††__fpurge(stdin);
†††if(scanf("%[a-zA-Z0-9/,.|_-]%*[^\n]%*1[\n]",ssid)==1 && strlen(ssid)>1)
††††{
††††††††printf("Network password: ");
††††††††__fpurge(stdin);
†††if(scanf("%[a-zA-Z0-9/,.|_-]%*[^\n]%*1[\n]",pass)==1 && strlen(pass)>1)
††††{
††††††††printf("default/custom path file (d/c): ");
††††††††__fpurge(stdin);
†††if(scanf("%[dc]",op_path)==1 && strlen(op_path)==1)
††††{
††††††††if(op_path[0] == 'c')
†††{
††††††printf("Path (with name file): ");
†††††††scanf("%s",custom_path);

†††††††if((wireless_conf = fopen(custom_path,"w"))==NULL)
†††††††{
†††††††††fprintf(stderr,"ERROR WPA custom path: %s\n",strerror(errno));
†††††††††exit(1);
††††††}
††††††else
††††††{
††††††††††sprintf(cmd,"wpa_passphrase %s %s > %s",ssid,pass,custom_path);
††††††††††system(cmd);
††††††††††printf("Wireless conf file at: %s\n",custom_path);
†††††††††††††††if((custom_path_out = fopen(custom_path_outputwpa,"w"))==NULL)
††††††††††††††††††††{
††††††††††††††††††††††††fprintf(stderr,"ERROR failed to create output file: %s\n",strerror(errno));
††††††††††††††††††††††††exit(1);
††††††††††††††††††††}
††††††††††††††††††††else
††††††††††††††††††††{
††††††††††††††††††††††††fprintf(custom_path_out,"%s\n",custom_path);
††††††††††††††††††††}
††††††††††††††}
††††††††}
†††if(op_path[0] == 'd')
†††{
††††††if((wireless_conf = fopen(default_path_wpa,"w"))==NULL)
†††††††{
†††††††††fprintf(stderr,"ERROR WPA default path: %s\n",strerror(errno));
†††††††††exit(1);
††††††}
††††††else
††††††{
††††††††††sprintf(cmd,"wpa_passphrase %s %s > %s",ssid,pass,default_path_wpa);
††††††††††system(cmd);
††††††††††printf("Wireless default file at: %s\n",default_path_wpa);
†††††††††††}
††††††††††}
}
else
{
††††printf("invalid option.\n");
}}
else
{
††††printf("invalid password.\n");
}}
else
{
††††printf("invalid ssid.\n");
}
fcloseall();
}
int connect_open(){
†††char op_path[1];
†††char custom_path[MAX];
†††char iface[MIN];
†††char cmd[MAX];
†††char cmd2[MIN];

†††if((wpa_bin = fopen(wpa_supplicant,"rb"))==NULL)
†††{
††††††fprintf(stderr,"ERROR install wpa_supplicant package: %s",strerror(errno));
†††}
†††else
†††{
††††††printf("Connect using default/custom file (d/c): ");
††††††__fpurge(stdin);
††††††if(scanf("%[dc]",op_path)==1 && strlen(op_path)==1)
††††††††{
††††††††††††if(op_path[0] == 'd')
††††††{
†††††††††printf("Interface: ");
†††††††††scanf("%s",iface);
†††††††††system("killall wpa_supplicant dhcpcd");
†††††††††sprintf(cmd,"wpa_supplicant -B -c %s -i %s\n",default_path_open,iface);
†††††††††system(cmd);
†††††††††sprintf(cmd2,"dhcpcd %s",iface);
†††††††††if((system(cmd2))==0)
†††††††††{
†††††††††††††printf("\nSucessfully connected!\n");
††††††††††}
††††††††††else
††††††††††††{
††††††††††††††††printf("\nFailed to make connection.\n");
††††††††††††}
†††††††}
†††††††if(op_path[0] == 'c')
†††††††{
††††††††††††if((custom_path_out = fopen(custom_path_outputopen,"r"))==NULL)
††††††††††††{
††††††††††††††††fprintf(stderr,"ERROR failed to read output file: %s\n");
††††††††††††}
††††††††††††else
††††††††††††{
††††††††††††††††fscanf(custom_path_out,"%s",custom_path);
††††††††††††††††printf("Interface: ");
††††††††††††††††scanf("%s",iface);
††††††††††††††††system("killall wpa_supplicant dhcpcd");
††††††††††††††††sprintf(cmd,"wpa_supplicant -B -c %s -i %s\n",custom_path,iface);
††††††††††††††††system(cmd);
††††††††††††††††sprintf(cmd2,"dhcpcd %s",iface);
††††††††††††††††if((system(cmd2))==0)
††††††††††††††††††††{
††††††††††††††††††††††††printf("\nSucessfully connected!\n");
††††††††††††††††††††}
††††††††††††††††††††else
††††††††††††††††††††{
††††††††††††††††††††††††printf("\nFailed to make connection.\n");
††††††††††††††††††††}
††††††††††††††††}
††††††††††††}
††††††††}
††††††††else
††††††††{
††††††††††††printf("invalid option.\n");
††††††††}
††††}
††††fcloseall();
††††}
int connect_wep(){
†††char op_path[1];
†††char custom_path[MAX];
†††char iface[MIN];
†††char cmd[MAX];
†††char cmd2[MIN];

†††if((wpa_bin = fopen(wpa_supplicant,"rb"))==NULL)
†††{
††††††fprintf(stderr,"ERROR install wpa_supplicant package: %s",strerror(errno));
†††}
†††else
†††{
††††††printf("Connect using default/custom file (d/c): ");
††††††††††††††††__fpurge(stdin);
††††††if(scanf("%[dc]",op_path)==1 && strlen(op_path)==1)
††††††{
††††††††††if(op_path[0] == 'd')
††††††{
†††††††††printf("Interface: ");
†††††††††scanf("%s",iface);
†††††††††system("killall wpa_supplicant dhcpcd");
†††††††††sprintf(cmd,"wpa_supplicant -B -c %s -i %s\n",default_path_wep,iface);
†††††††††system(cmd);
†††††††††sprintf(cmd2,"dhcpcd %s",iface);
†††††††††if((system(cmd2))==0)
†††††††††{
†††††††††††††printf("\nSucessfully connected!\n");
††††††††††}
††††††††††else
††††††††††††††††††††{
†††††††††††††††††††††††† printf("\nFailed to make connection.\n");
††††††††††††††††††††}
†††††††}
†††††††if(op_path[0] == 'c')
†††††††{
††††††††††††††††if((custom_path_out = fopen(custom_path_outputwep,"r"))==NULL)
††††††††††††{
††††††††††††††††fprintf(stderr,"ERROR failed to read output file: %s\n",strerror(errno));
††††††††††††}
††††††††††††else
††††††††††††{
††††††††††††††††fscanf(custom_path_out,"%s",custom_path);
††††††††††††††††printf("Interface: ");
††††††††††††††††scanf("%s",iface);
††††††††††††††††system("killall wpa_supplicant dhcpcd");
††††††††††††††††sprintf(cmd,"wpa_supplicant -B -c %s -i %s\n",custom_path,iface);
††††††††††††††††system(cmd);
††††††††††††††††sprintf(cmd2,"dhcpcd %s",iface);
††††††††††††††††if((system(cmd2))==0)
††††††††††††††††††††{
††††††††††††††††††††††††printf("\nSucessfully connected!\n");
††††††††††††††††††††}
††††††††††††††††††††else
††††††††††††††††††††{
††††††††††††††††††††††††printf("\nFailed to make connection.\n");
††††††††††††††††††††}
††††††††††††††††}
††††††††††††}
††††††††}
††††††††else
††††††††{
††††††††††††printf("invalid option.\n");
††††††††}
††††}
††††fcloseall();
††††}
int connect_wpa(){
†††char op_path[1];
†††char custom_path[MAX];
†††char iface[MIN];
†††char cmd[MAX];
†††char cmd2[MIN];

†††if((wpa_bin = fopen(wpa_supplicant,"rb")) == NULL)
†††{
††††††fprintf(stderr,"ERROR install wpa_supplicant package: %s",strerror(errno));
†††}
†††else
†††{
†††††††printf("Connect using default/custom file (d/c): ");
†††††††__fpurge(stdin);
††††if(scanf("%[dc]",op_path)==1 && strlen(op_path)==1)
††††{
††††††††if(op_path[0] == 'd')
††††{
††††††††printf("Interface: ");
††††††††scanf("%s",iface);
†††system("killall wpa_supplicant dhcpcd");
†††sprintf(cmd,"wpa_supplicant -B -c %s -i %s\n",default_path_wpa,iface);
†††system(cmd);
†††sprintf(cmd2,"dhcpcd %s",iface);
†††if((system(cmd2))==0)
†††{
†††††††printf("\nSucessfully connected!\n");
†††}
†††else
††††††††{
†††††††††††† printf("\nFailed to make connection.\n");
††††††††}
†† }
†††if(op_path[0] == 'c')
†††{
††††††††††††if((custom_path_out = fopen(custom_path_outputwpa,"r"))==NULL)
††††††††††††{
††††††††††††††††fprintf(stderr,"ERROR failed to read output file: %s\n",strerror(errno));
††††††††††††}
††††††††††††else
††††††††††††{
††††††††††††††††fscanf(custom_path_out,"%s",custom_path);
††††††††††††††††printf("Interface: ");
††††††††††††††††scanf("%s",iface);
††††††††††††††††system("killall wpa_supplicant dhcpcd");
††††††††††††††††sprintf(cmd,"wpa_supplicant -B -c %s -i %s\n",custom_path,iface);
††††††††††††††††system(cmd);
††††††††††††††††sprintf(cmd2,"dhcpcd %s",iface);
††††††††††††††††if((system(cmd2))==0)
††††††††††††††††††††{
††††††††††††††††††††††††printf("\nSucessfully connected!\n");
††††††††††††††††††††}
††††††††††††††††††††else
††††††††††††††††††††{
††††††††††††††††††††††††printf("\nFailed to make connection.\n");
††††††††††††††††††††}
††††††††††††††††}
††††††††††††}
††††††††}
††††††††else
††††††††{
††††††††††††printf("invalid option.\n");
††††††††}
††††}
††††fcloseall();
††††}
int verify_user(){
††††FILE *id_out;
††††char idp[15] = "/var/tmp/id";
††††char id[MIN];
††††int contador = 0;
††††char aux;

††††system("id > /var/tmp/id");
††††if((id_out = fopen(idp,"r"))==NULL)
††††{
††††††††fprintf(stderr,"ERROR failed to read id: %s",strerror(errno));
††††}
††††else
††††{
††††††††fscanf(id_out,"%s",id);
††††††††for(aux=0;id!='\0';aux++)
††††††††{
††††††††††††if(id[4] == '0')
††††††††††††{
††††††††††††††††system("rm /var/tmp/id");
††††††††††††††††break;
††††††††††††}
††††††††††††else
††††††††††††{
††††††††††††††††printf("%s\n",id);
††††††††††††††††printf("Launch as root!\n");
††††††††††††††††system("rm /var/tmp/id");
††††††††††††††††exit(1);
††††††††††††}
††††††††}
††††}
††††fclose(id_out);
††††}
int main(void){
††††††††verify_user();
†††int menu = 0;

†††printf("\n0 (Exit) \n1 Open Wireless†††† | 2 Connect Open\n3 WEP Wireless††††††| 4 Connect WEP\n");
†††printf("5 WPA/WPA2 Wireless | 6 Connect WPA/WPA2\n7 (About)\n\n");
†††while(menu >= 0)
†††{
††††††printf("[2wireless]# ");
††††††scanf("%d",&menu);
††††††switch(menu)
††††††{
†††††††††case 0:
†††††††††††††exit(0);
†††††††††case 1:
†††††††††††††associate_open();
†††††††††††††break;
†††††††††case 2:
†††††††††††††connect_open();
†††††††††††††break;
†††††††††case 3:
†††††††††††††associate_wep();
†††††††††††††break;
†††††††††case 4:
†††††††††††††connect_wep();
†††††††††††††break;
†††††††††case 5:
†††††††††††††associate_wpa();
†††††††††††††break;
†††††††††case 6:
†††††††††††††connect_wpa();
†††††††††††††break;
†††††††††case 7:
†††††††††††††printf("\nThis is a small C code to connect wireless device to the internet through ");
†††††††††††††printf("Open, WEP and WPA/WPA2 encryption.\n");
†††††††††††††printf("2wireless Developed by Cristhoffer Corrêa.\n");
†††††††††††††break;
†††††††††default:
†††††††††continue;
††††††}
†††}
†††return 0;
†††}

Scripts recomendados

Jogo da Forca-C

Acertando a hora!!

Portscan simples em C

Servidor de arquivos (Cliente/servidor)

HtmlPageDown - Baixe pŠginas HTML (cURL)


  

ComentŠrios

Nenhum comentŠrio foi encontrado.


Contribuir com comentŠrio




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts