IPHunter - caçador de ip

Publicado por felipe (última atualização em 04/04/2025)

[ Hits: 356 ]

Download 7394.iphunter.c




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.

  



Esconder código-fonte

#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;
}

Scripts recomendados

criptografia de modo simples

IntensiveDoS - ferramenta de DoS para pentesting

Cálculo da chave secreta do protocolo Diffie-Hellmann

Captura de Banners dos Serviços

Script para fazer ataque DoS - use apenas como testes com sistemas de segurança


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts