一、读取/etc/hosts 几个函数

头文件<netdb.h>

1.void sethostent(int stayopen);//开打/etc/hosts 配置文件

2.struct hostent * gethostent(void);//读取配置文件

3.void  enthostent(void);//关闭 /etc/hosts 文件

二、读取/etc/protocols文件的几个函数

1.struct protoent *getprotobyname(cosnt char *name);

struct protent

{

  char *p_name;

  char **p_aliases;

    int  p_proto;

  

}  

#include <stdio.h>
#include <netdb.h>
#include <sys/utsname.h>
main()
{
printf("============获取host信息====================\n");
struct hostent *ent;
/*打开主机配置数据文件*/
sethostent();
while()
{
ent=gethostent();
if(ent==)break;
printf("主机名:%s\t",ent->h_name);
printf("IP地址:%hhu.%hhu.%hhu.%hhu\t",ent->h_addr[],ent->h_addr[],ent->h_addr[],ent->h_addr[]);
printf("别名:%s\n",ent->h_aliases[]);
}
endhostent();
//获取本机信息
printf("==============获取本机信息==================\n");
struct protoent *ent2;
struct utsname name;
ent2=getprotobyname("tcp");
printf("proto:%d\n",ent2->p_proto);
uname(&name);
printf("machine:%s\n",name.machine);
printf("nodename:%s\n",name.nodename);
printf("sysname:%s\n",name.sysname);
//通过域名获取IP
printf("========通过域名获取IP=====================\n");
struct hostent *ent3;
ent3=gethostbyname("www.baidu.com");
printf("%hhu.%hhu.%hhu.%hhu\n",ent3->h_addr_list[][],ent3->h_addr_list[][],ent3->h_addr_list[][],ent3->h_addr_list[][]);
}

============获取host信息====================
主机名:localhost IP地址:127.0.0.1 别名:localhost.localdomain
主机名:localhost IP地址:127.0.0.1 别名:localhost.localdomain
==============获取本机信息==================
proto:6
machine:x86_64
nodename:localhost.localdomain
sysname:Linux
========通过域名获取IP=====================
115.239.210.26
[root@localhost day09]#

Linux中获取本机网络信息的几个函数及应用的更多相关文章

  1. Qt5获取本机网络信息

    获取本机网络信息 在pro文件中加入如下代码 QT += network widget.h中的代码如下 #ifndef WIDGET_H #define WIDGET_H #include <Q ...

  2. Linux中获取本机的最新IPv6地址_更新ddns的脚本

    Linux中获取本机的最新IPv6地址_更新ddns的脚本 转载注明来源: 本文链接 来自osnosn的博客,写于 2019-11-07. 运营商提供ipv6地址. 路由器后有台linux机器,通过e ...

  3. linux编程获取本机网络相关参数

    getifaddrs()和struct ifaddrs的使用,获取本机IP 博客分类: Linux C编程   ifaddrs结构体定义如下: struct ifaddrs { struct ifad ...

  4. Qt网络获取本机网络信息

    下面我们就讲解如何获取自己电脑的IP地址以及其他网络信息.这一节中,我们会涉及到网络模块(QtNetwork Module)中的QHostInfo ,QHostAddress ,QNetworkInt ...

  5. Qt-网络与通信-获取本机网络信息

    在网络应用中,经常需要获取本机主机名和IP地址和硬件地址等信息.运用QHostInfo.QNetworkInterface.QNetworkAddressEntry可以获得本机的网络信息. 上运行截图 ...

  6. Qt - 获取本机网络信息

    目的: 获取本机的主机名.IP地址.硬件地址等网络信息. 工具: 使用Qt提供的网络模块QtNetwork(pro文件里面加network): 使用Qt提供的类QHostInfo.QNetworkIn ...

  7. Qt之获取本机网络信息(MAC, IP等等,很全)

    经常使用命令行来查看一些计算机的配置信息. 1.首先按住键盘上的“开始键+R键”,然后在弹出的对话框中输入“CMD”,回车 另外,还可以依次点击 开始>所有程序>附件>命令提示符 2 ...

  8. Qt之获取本机网络信息(超详细)

    经常使用命令行来查看一些计算机的配置信息. 1.首先按住键盘上的“开始键+R键”,然后在弹出的对话框中输入“CMD”,回车 另外,还可以依次点击 开始>所有程序>附件>命令提示符 2 ...

  9. qt获取本机网络信息

    networkinformation.h #include<QtGui/QWidget> #include<QLabel> #include<QPushButton> ...

随机推荐

  1. Tomcat_Java Web_内存溢出总结

    在抛出内存溢出错误的时候,一般都会提示内存泄露的种类,一般也都是按照区域进行划分: 1. 堆(heap)内存泄漏java.lang.OutOfMemoryError: Javaheap space:大 ...

  2. Spring MVC学习笔记——Controller接口

  3. [原创]用“人话”解释不精确线搜索中的Armijo-Goldstein准则及Wolfe-Powell准则

    [原创]用“人话”解释不精确线搜索中的Armijo-Goldstein准则及Wolfe-Powell准则 转载请注明出处:http://www.codelast.com/ line search(一维 ...

  4. zepto.js之ajax剖析

    1.ajax的baseHeaders ajax插件中的baseHeaders对象的是http请求头部的信息 var mime = settings.accepts[dataType], baseHea ...

  5. Redis学习——链表源码分析

    0. 前言 Redis 中的链表是以通用链表的形式实现的,而对于链表的用途来说,主要的功能就是增删改查,所以对于查找来说,redis其提供了一个match函数指针,用户负责实现其具体的匹配操作,从而实 ...

  6. Linux--文件查找命令

    一.简介查找文件的几个命令: 1.which :查找可执行文件的位置 2.whereis:查找文件的位置,可以找到可执行命令和man page 3.locate:配合数据库查看文件位置 4.find: ...

  7. vi/vim使用小结

    1.三种模式: •Command mode 命令模式,用于输入命令,简单更改. •Insert mode 插入模式,用于插入文本. •Last line mode 末行模式,用于输入命令.视化操作.查 ...

  8. Mini ORM——PetaPoco笔记(转)

    记录一下petapoco官网博客的一些要点.这些博客记录了PetaPoco是如何一步步改进的. 目录: Announcing PetaPoco PetaPoco-Improvements PetaPo ...

  9. redis删除list中指定index的值

    Redis的List删除命令: lrem : lrem mylist 0 "value"    //从mylist中删除全部等值value的元素   0为全部,负值为从尾部开始. ...

  10. 用IIS配置反向代理

    http://my.oschina.net/tanyixiu/blog/123832 目标服务器:targetServer 配置反向代理的服务器:reveseProxServer 1.确定最终访问的网 ...