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 培训之MySql
1. Install 1.1 install mysql sudo apt-get install lamp-server^ (tip: Set password) 1.2 install MySQ ...
- SSM的各个配置文件
SqlMapConfig.xml文件:(这是带了mybatis的分页插件的配置) <?xml version="1.0" encoding="UTF-8" ...
- nginx访问日志获取访问前10的url
在ELK里面获取top10的url在日志量非常大的情况下是非常消耗内存的,所以写了一个脚本用来快速获取. 配置文件 log.conf [log] log_file = /data/logs/nginx ...
- 9月12日JavaScript脚本语言
JS脚本语言 JS脚本语言全称JavaScript,是网页里面使用的脚本语言,也是一门非常强大的语言. 一.基础语法 1.注释语法 单行注释:// 多行注释:/**/ 2.输出语法 ①alert(信息 ...
- JS数组类型检测
在强类型语言,数组类型检测是非常容易的事情(typeof就可以解决),而在弱语言JS数据类型就很容易混淆了. JS中常见的数据类型有:number.string.boolean.undefined.f ...
- 总结CSS面试题目的考察点及常见布局问题整理
整理网上流传的若干份面试题目,突发奇想,总结关于CSS面试题目的考察点,发现问题大多围绕几个属性和几种题目,水平有限,仅供参考. 写这个博文内心有种莫名奇妙的自我谴责感,实在不应该把面试层叠样式“应试 ...
- Django笔记-MySQL初次使用设置
以下为个人学习时的笔记,正在完善中........... [1]启动服务 [root@bogon /]# service mysqld start正在启动 mysqld: [确定] [root@bog ...
- docker管理shipyard中文版v3.0.2更新
shipyard中文版v3.0.2更新 https://console.dockerclub.net/ https://dockerclub.net/docs/intro/getting_start ...
- Working with Transactions (EF6 Onwards)
Data Developer Center > Learn > Entity Framework > Get Started > Working with Transactio ...
- Spring系列之beanFactory与ApplicationContext
一.BeanFactoryBeanFactory 是 Spring 的“心脏”.它就是 Spring IoC 容器的真面目.Spring 使用 BeanFactory 来实例化.配置和管理 Bean. ...