Descritor de protocolo

Publicado por Enzo de Brito Ferber 29/12/2006

[ Hits: 6.624 ]

Homepage: http://www.maximasonorizacao.com.br

Download getserv.c




Programa que descreve e dá o nome do serviço se fornecida uma porta, ou dá a porta se fornecido o nome.

Usa as funções getopt(), getservbyname() e getservbyport() da biblioteca padrão do *nix.

  



Esconder código-fonte

#include <stdio.h>
#include <netdb.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[]){
    struct servent *service;
    char *proto;
    if(argc != 3){
        fprintf(stderr, "Usage 1: %s -p <port>\n", argv[0]);
        fprintf(stderr, "Usage 2: %s -n <protocol_name>\n", argv[0]);
        exit(-1);
    }
    switch(getopt(argc, argv, "p:n:")){
        case 'p':
            service = getservbyport(htons(atoi(optarg)), NULL);
            printf("Service : %s\n", service->s_name);
            printf("Port    : %d\n", ntohs(service->s_port));
            printf("Protocol: %s\n", service->s_proto);
            return 0;
        case 'n':
            service = getservbyname(optarg, NULL);
            printf("Service : %s\n", service->s_name);
            printf("Port    : %d\n", ntohs(service->s_port));
            printf("Protocol: %s\n", service->s_proto);
            return 0;
    }
    return 0;
}
 

Scripts recomendados

Servidor em C via UDP

Calcular Broadcast e IPs disponíveis

Socket em C/C++ - SERVER

Sockets: um mini webserver

Connect - um simples programa para atravessar proxys Socks


  

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