Alucard - scan de redes defensivo
Publicado por Perfil removido (última atualização em 25/02/2025)
[ Hits: 1.458 ]
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;
}
Usando sockets para monitorar servidores
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Usando dracut e dispensando genkernel no Gentoo + LUKS + Btrfs
Curso GRÁTIS: OCS Inventory NG - Do Deploy ao Hardening com foco em Segurança da Informação!
Instalando fontes via script no Nautilus Scripts no Gnome do Debian 13
Instalar Linux em notebook Sony Vaio VPCEG13EB (6)
GLPI Não atualiza Inventario (1)
VirtualBox no Ubuntu 25.10 sem redimensionam... automatico. (1)









