gethostname.c

来自「网络流量生成工具,开源软件,也可以作为网络流量检测软件使用」· C语言 代码 · 共 51 行

C
51
字号
/*  * $smu-mark$  * $name: gethostname.c$  * $author: Salvatore Sanfilippo <antirez@invece.org>$  * $copyright: Copyright (C) 1999 by Salvatore Sanfilippo$  * $license: This software is under GPL version 2 of license$  * $date: Fri Nov  5 11:55:47 MET 1999$  * $rev: 8$  */ #include <stdio.h>#include <netdb.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <string.h>char *get_hostname(char* addr){	static char answer[1024];	static char lastreq[1024] = {'\0'};	/* last request */	struct hostent *he;	struct in_addr naddr;	static char *last_answerp = NULL;	printf(" get hostname..."); fflush(stdout);	printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b"		"               "		"\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");	if ( !strcmp(addr, lastreq)) return last_answerp;	strncpy(lastreq, addr, 1024);	inet_aton(addr, &naddr);	he = gethostbyaddr((char*)&naddr, 4, AF_INET);	if (he == NULL)	{		last_answerp = NULL;		return NULL;	}	strncpy(answer, he->h_name, 1024);	last_answerp = answer;	return answer;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?