IPHunter - caçador de ip

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

[ Hits: 155 ]

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 em C

reverse shell na marra!

genpass - gerador de senhas seguras

criptografia de modo simples

Criptografar um Arquivo de Texto por cifra de Transposição


  

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