Descritor de protocolo

Publicado por Enzo de Brito Ferber 29/12/2006

[ Hits: 6.592 ]

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

[C - Socket] UDP SERVER

Exemplo Básico de Sockets em C

Simples TCP Cliente em C#

Simulação de controle de fluxo usando sockets


  

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