Descritor de protocolo
Publicado por Enzo de Brito Ferber 29/12/2006
[ Hits: 6.521 ]
Homepage: http://www.maximasonorizacao.com.br
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.
#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; }
Nenhum comentário foi encontrado.
IA local no bolso, novo visual no Raspberry Pi OS e mais destaques do software livre
Kernel turbinado, compatibilidade em alta e debate sobre sustentabilidade: o dia no mundo Linux
Kernel turbinado e GNOME 49 dominam o giro do dia no mundo Linux
Novidades Linux: Kernel 6.17, distros em ebulição e segurança em foco
Kernel ganha novos linters Rust e distros avançam com recursos de IA
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Como vencer a procrastinação? (2)
Alguém que utilize o Warsaw do BB no Ubuntu 24.04 [RESOLVIDO] (7)
Orientação para instalar o Warsaw - módulo de proteção do Banco do Bra... (9)