IPHunter - caçador de ip
Publicado por felipe (última atualização em 04/04/2025)
[ Hits: 1.085 ]
Esse programa é um caçador de ip, tipo um farejador, ele fica rodando ip por ip no servidor procurando por ips e portas vinculadas.
modo de uso: ./iphunter
Quando abrir você deve passar o ip de origem, mas sem passar o ultimo valor.
por exemplo: ip -> 152.550.74.123
Você vai digitar assim no programa: 152.550.74 sem o ".123"
O programa demora, mas funciona, então vá tomar um café enquanto espera.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netdb.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <netinet/in.h>
int main(){
// inicia variaveis com valores
char ip[20] = {""};
// portas que vamos utilizar
int ports[] = {21, 22, 23, 80, 443, 445, 631, 465, 993, 995}; // 10 portas
int range = 0;
char copy1[256], copy2[256];
FILE *log;
char buff[256];
printf("-======[+] IPHunter versão 1.0 by: programador_ [+]=====-\n");
printf("IPv4: ");
fgets(ip, 20, stdin);
// remove "\n"
ip[strlen(ip)-1]='\0';
// address
struct sockaddr_in addr;
// timeout
struct timeval timeout;
// 1 segundos de timeout
timeout.tv_sec = 1;
timeout.tv_usec = 0;
log = fopen("IPHunter_log.txt", "w");
for(int adress = 0; adress < 256; adress++){
for(int porta = 0; porta < 10; porta++){
// configura o socket
addr.sin_family = AF_INET;
addr.sin_port = htons(ports[porta]);
// faz a concatenação
strcpy(copy1, ip);
strcat(copy1, ".");
sprintf(copy2, "%d", adress);
strcat(copy1, copy2);
inet_pton(AF_INET, copy1, &addr.sin_addr);
int sock = socket(AF_INET, SOCK_STREAM, 0);
if(sock < 0){
perror("Sock error");
exit(1);
}
// configura timeout
setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO, &timeout, sizeof(timeout));
setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout));
int cnx = connect(sock, (struct sockaddr *)&addr, sizeof(addr));
if(cnx == 0){
// cria log
fprintf(log, "ip %s na rede vinculado na porta %d...\n", copy1, ports[porta]);
printf("IP=> %s:%d vinculado ao servidor...\n", copy1, ports[porta]);
}
close(sock);
}
}
fclose(log);
return 0;
}
Captura de Banners dos Serviços
Esse código pode ser considerado um vírus?
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
O programa assinador digital (1)
PIP3 - erro ao instalar módulo do mariadb para o Python (9)
É normal não gostar de KDE? (8)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)









