ex1. 잘 알려진 포트 번호를 입력받아 이에 해당하는 서비스 명을 출력하는 프로그램을 작성하라
#include <netdb.h>
#include <stdio.h>
int main() {
struct servent* port;
int pt;
printf("Input port number: ");
scanf("%d", &pt);
port = getservbyport(htons(pt), NULL);
if (port != NULL) {
printf("name=%s, port=%d\n", port->s_name, ntohs(port->s_port));
} else {
printf("No service for %d\n", pt);
}
return 0;
}
ex2. /etc/hosts 파일에 특정 호스트 명이 있는지 확인하고 있으면 해당 IP 주소를 출력하는 프로그램을 작성하라
#include <netdb.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char host[256];
in_addr_t addr;
struct hostent* hp;
struct in_addr in;
printf("Input host name: ");
scanf("%s", host);
hp = gethostbyname(host);
if (hp == NULL) {
(void)printf("Host information not found\n");
exit(2);
}
(void)memcpy(&in.s_addr, *hp->h_addr_list, sizeof(in.s_addr));
printf("name=%s IP=%s\n", hp->h_name, inet_ntoa(in));
return 0;
}
참고 및 출처: 시스템 프로그래밍 리눅스&유닉스(이종원)
'Computer Science > UNIX & Linux' 카테고리의 다른 글
[UNIX/Linux] ep11-2+) 소켓 프로그래밍 함수 실습 (0) | 2024.12.05 |
---|---|
[UNIX/Linux] ep11-2) 소켓 프로그래밍 함수 (0) | 2024.12.04 |
[UNIX/Linux] ep11-1) 소켓 프로그래밍 기초 (3) | 2024.11.26 |
[UNIX/Linux] ep10-2) 세마포 (1) | 2024.11.13 |
[UNIX/Linux] ep10-1+) 메시지 큐 함수 실습 (5) | 2024.11.07 |