Linux中获取本机网络信息的几个函数及应用
一、读取/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中获取本机网络信息的几个函数及应用的更多相关文章
- Qt5获取本机网络信息
获取本机网络信息 在pro文件中加入如下代码 QT += network widget.h中的代码如下 #ifndef WIDGET_H #define WIDGET_H #include <Q ...
- Linux中获取本机的最新IPv6地址_更新ddns的脚本
Linux中获取本机的最新IPv6地址_更新ddns的脚本 转载注明来源: 本文链接 来自osnosn的博客,写于 2019-11-07. 运营商提供ipv6地址. 路由器后有台linux机器,通过e ...
- linux编程获取本机网络相关参数
getifaddrs()和struct ifaddrs的使用,获取本机IP 博客分类: Linux C编程 ifaddrs结构体定义如下: struct ifaddrs { struct ifad ...
- Qt网络获取本机网络信息
下面我们就讲解如何获取自己电脑的IP地址以及其他网络信息.这一节中,我们会涉及到网络模块(QtNetwork Module)中的QHostInfo ,QHostAddress ,QNetworkInt ...
- Qt-网络与通信-获取本机网络信息
在网络应用中,经常需要获取本机主机名和IP地址和硬件地址等信息.运用QHostInfo.QNetworkInterface.QNetworkAddressEntry可以获得本机的网络信息. 上运行截图 ...
- Qt - 获取本机网络信息
目的: 获取本机的主机名.IP地址.硬件地址等网络信息. 工具: 使用Qt提供的网络模块QtNetwork(pro文件里面加network): 使用Qt提供的类QHostInfo.QNetworkIn ...
- Qt之获取本机网络信息(MAC, IP等等,很全)
经常使用命令行来查看一些计算机的配置信息. 1.首先按住键盘上的“开始键+R键”,然后在弹出的对话框中输入“CMD”,回车 另外,还可以依次点击 开始>所有程序>附件>命令提示符 2 ...
- Qt之获取本机网络信息(超详细)
经常使用命令行来查看一些计算机的配置信息. 1.首先按住键盘上的“开始键+R键”,然后在弹出的对话框中输入“CMD”,回车 另外,还可以依次点击 开始>所有程序>附件>命令提示符 2 ...
- qt获取本机网络信息
networkinformation.h #include<QtGui/QWidget> #include<QLabel> #include<QPushButton> ...
随机推荐
- python chinese code
http://blog.csdn.net/inte_sleeper/article/details/6676351 编码的历史 1. ASCII ASCII(American Standard ...
- CSS-论css如何纯代码实现内凹圆角
background-image: radial-gradient(200px at 50px 0px, #fff 50px, #4169E1 50px); 这是做内凹圆角的核心代码,就是背景图的ra ...
- 运用java集合Collections对List进行max和min操作
我想创建了一个List,里面有一堆的数,一个需求是去掉一个最大值,一个最小值,List有remove的方法,但是找到最大值和最小值的方法不在List里,而是Collections的静态方法.真心觉得还 ...
- C#操作XML,如何获取指定节点值?
博客园提问,结合网友回答http://q.cnblogs.com/q/36082/ 打开是treelist树形显示xml所有节点,递归来实现 xmlDoc = new XmlDocument(); ...
- $this->display输出模板
1.public function index(){ $this->display() } // 默认输出的是index.html模板 2.public function index(){ $t ...
- Jquerymobile随笔
fixed <div data-role="header" data-position="fixed"> <h1>欢迎访问我的主页< ...
- Hiredis 基本使用
0. 前言 Hiredis是一个Redis的C客户端库函数,基本实现了Redis的协议的最小集.这里对hiredis的api作基本的介绍以及应用,主要参考hiredis的README文件以及相关源码. ...
- Docker Dockerfile COPY vs ADD
http://blog.163.com/digoal@126/blog/static/163877040201410341236664/ 在Dockerfile中, 我们可以使用ADD和COPY拷 ...
- spring boot入门例子
最近学习spring boot,总结一下入门的的基础知识 1新建maven项目,修改pom.xml <project xmlns="http://maven.apache.org/PO ...
- apache禁止访问文件或目录执行权限、禁止运行脚本PHP文件的设置方法
<Directory "要去掉PHP执行权限的目录路径,例如:D:/piaoyun.cc/upload"> ErrorDocument 404 /404/404.h ...