Alucard - scan de redes defensivo
Publicado por Perfil removido (última atualização em 25/02/2025)
[ Hits: 1.438 ]
Esse programa busca um range de ips e busca informação de cada ip do range.
Ele deve rodar em segundo plano, com comando ./alucard & esse programa deve ser usado como root,
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <netdb.h>
struct sockaddr_in addr;
struct timeval timeout;
FILE *fr, *fw, *op;
char ip[256], buff[256];
// portas pela qual a aplicação irá
// ficar rodando.
int lport[] = {21, 22, 23, 80, 443, 445, 465};
int sock = 0, cnx = 0;
char cmdBuff[256];
// pega dados e cria arquivo
void add(){
printf("Getway: ");
fgets(ip, 256, stdin);
fw = fopen("/var/log/alucard_ips.txt", "w");
ip[strlen(ip)-3] = '\0';
for(int loop = 1; loop < 256; loop++){
fprintf(fw, "%s.%d\n", ip, loop);
}
fclose(fw);
}
// verifica se o arquivo getway existe
// caso não, ele será criado.
void ok(){
op = fopen("/var/log/alucard_ips.txt", "r");
if(op == NULL){
add();
}
}
int main(){
ok();
timeout.tv_sec = 1;
timeout.tv_usec = 0;
//roda as portas definidas
for(int run = 0; run < 7; run++){
fr = fopen("/var/log/alucard_ips.txt", "r");
while(fgets(buff, 256, fr) != NULL){
addr.sin_addr.s_addr = inet_addr(buff);
addr.sin_port = htons(lport[run]);
addr.sin_family = AF_INET;
sock = socket(AF_INET, SOCK_STREAM, 0);
if(sock < 0){
perror("sock error");
return 1;
}
setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO, &timeout, sizeof(timeout));
setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout));
cnx = connect(sock, (struct sockaddr *)&addr, sizeof(addr));
if(cnx == 0){
strcpy(cmdBuff, "nmap -sT -O -A -v ");
strcat(cmdBuff, buff);
op = popen(cmdBuff, "r");
fw = fopen("/var/log/alucard_log.txt", "a");
fprintf(fw, "=== [*]log[*] ===\n");
while(fgets(buff, 256, op) != NULL){
fprintf(fw, "%s", buff);
}
fclose(op);
fclose(fw);
}
}
}
return 0;
}
Simples servidor http com concorrência feito em C
Exemplo de Cliente e Servidor Usando Socket no Linux!
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
Pós Instalação do POP! OS 24.04
Contorno para BUG de som no COSMIC Desktop
Pfsense inacessivel após um periodo de tempo [RESOLVIDO] (3)
Bootstrap token - ONLYOFFICE Docs Community Edition (2)









