Linux 网络解析工具 adns 的使用教程 (linux adns)

网络是我们现代社会必不可少的一部分,大到全球互联网,小到局域网甚至个人电脑,我们每天都要使用网络。但是,在网络世界中,需要解析的信息实在是太多了,例如域名、IP地址等等,这些信息的解析显得尤为重要。所以,网络解析工具就显得尤为重要。本文将介绍一个Linux网络解析工具——adns。

adns是一个开源的异步DNS解析库,可以解析IPv4和IPv6地址,支持自定义服务端、自定义查询类型等特性,以及多种使用方式。下面将介绍adns的安装和使用方法,尤其是在Linux系统中的应用。

安装adns

adns的安装十分简单,可以使用源码包安装或者在Ubuntu系统下使用apt-get工具安装。

如果您是在Ubuntu系统下安装的话,只需要打开终端执行以下命令:

“`

sudo apt-get install libadns1-dev

“`

如果您想使用源码进行安装,则需要按照以下步骤:

1.下载源码包:

可以在官网(http://www.chiark.greenend.org.uk/~ian/adns/)下载最新的adns源码包。

2.安装依赖:

在安装之前,您需要先安装adns的必备依赖库。这可以通过以下命令安装:

“`

sudo apt-get install build-essential automake autoconf libtool

“`

3.解压源码包:

您可以使用“tar -zxvf”命令解压adns源码包,具体命令如下:

“`

tar -zxvf adns-1.5.1.tar.gz

cd adns-1.5.1

“`

4.编译&安装:

接下来,在安装之前,您需要执行以下命令进行配置:

“`

./configure

“`

当配置执行完成后,您需要使用以下命令进行编译:

“`

make

sudo make install

“`

至此,adns已经成功安装到您的Linux系统中了。

使用adns

adns提供了几种不同的使用方式:

1.使用adns_lookup函数查询 DNS:

adns_lookup() 是adns库的核心函数,它的作用是向域名服务器询问域名对应的 IP 地址。

其函数原型如下:

“`

int adns_lookup(adns_state ads, const char *name, adns_rrtype otype, unsigned int flags, adns_query *query);

“`

由于adns_lookup()接口将DNS解析操作封装了起来,因此它隐藏了DNS解析的具体细节,对使用者而言,只需要提供域名和解析类型即可。

这里举个例子:

“`

#include

int mn(int argc, char **argv) {

adns_state ads;

adns_init(&ads, adns_if_noerrprint, NULL);

adns_query query;

adns_submit(ads, “www.google.com”, adns_r_a, 0, &query,NULL);

adns_answer *answer;

int err = adns_wt(ads, &query, &answer, NULL);

if(0==err) {

printf(“%s\n”,inet_ntoa(((struct in_addr *) answer->item)->s_addr));

adns_free(answer);

}

adns_finish(ads);

return 0;

}

“`

通过以上代码,我们可以向域名服务器查询域名对应的IP地址,例如,“www.google.com”的IP地址是172.217.3.100。

2.指定查询DNS的服务器

使用 adns库的核心函数 adns_init() 来设置DNS服务器的地址,把需要向哪个DNS服务器查询域名对应的IP地址设置进去即可。在进行DNS解析时,adns将会优先向指定DNS服务器发起查询,如果没有成功解析,才会尝试其他DNS服务器。代码示例如下:

“`

adns_init(&ads,adns_if_noerrprint,NULL);

adns_addserver(ads,”192.168.1.1″,0);

adns_query query;

adns_submit(ads, “www.google.com”, adns_r_a, 0, &query,NULL);

“`

3.触发事件进行查询

如果你正在使用类似轮询、统一的主循环等方式进行任务处理,那么可以通过 adns_check() 函数检查是否有DNS解析完成的事件。代码示例如下:

“`

adns_query* queries[100];

while(1) {

unsigned int count = 100;

int err = adns_check(ads,queries,&count,NULL,NULL,NULL);

if(err) {

printf(“error\r\n”);

break;

}

for(int i=0; i

if(queries[i]) {

adns_answer* answer = NULL;

err = adns_getanswer(ads,queries[i], &answer,NULL,NULL,NULL);

if(err==0) {

printf(“host:%s address:%s\r\n”,queries[i]->owner,inet_ntoa(((struct in_addr*)answer->rdata)->s_addr));

}

adns_cancel(ads, queries[i]);

adns_free(answer);

}

}

adns_beforepoll(ads);

usleep(10 * 1000);

adns_afterpoll(ads);

}

“`

注意:以上示例代码是在Linux系统中使用的,如果您想在其他系统中使用adns,需要进行相应的修改。数据来源于网络,所有权归原作者所有。

相关问题拓展阅读:

求高人帮我翻译一下论文摘要

Paper abstract: Through uses the ADNS2610 image-forming sensors to manufacture the all scope precise position finder, mainly uses on the wheeled robot. May carry on the pinpointing in the 62M scope, the major function includes: Records when robot’s traveling schedule, the route, the homing calculates the minimum range, the direction judgment, many machine cooperation processing and so on. This sensor uses the ATMEGA16 monolithic integrated circuit to use in the image ysis processor, comes from ADNS2610 the data to carry on the ysis computation, then undergoes compression processing, passes to through the wireless tranission system the data the server (based on linux system’s formidable operation software), when after the server processes the data, again the instruction which or the data must carry out feeds. This sensor’s technical specification: Data acquisition precision: ±1mm; Data acquisition speed:

ADNS2610 imaging sensors by using a all-scale production of precise positioning system, and is mainly used for wheeled robot. Can be carried out within the scope of 62M accurate positioning, the main features include: Record robot’s itinerary, airline, owned by Air China for calculating the minimum distance, direction judgments, multi-machine cooperative processing. The sensors used for image ysis using the ATMEGA16 microcontroller processor, the ysis of data from the ADNS2610 calculations, and then through the compression processing, wireless tranission systems tranit data to a server (based on the linux system, a powerful computing software), when the server processing the data and then they want to perform the command or data sent back. This sensor technology indicators: data collection accuracy: ± 1mm; data acquisition speed: 500H; Data output interface: 232/IIC/ISP; Wireless Transfer Protocol: Self-set multi-machine transport protocol.

【我想大燃吵概这样~!!

我不保竖仿证这文法余段纤百分百正确】

Abstract: ADNS2610 imaging sensors by using all-scale production of precise positioning system, and is mainly used for wheeled robot. Can be carried out within the scope of 62M accurate positioning, the main features include: Record robot’s itinerary, airline, owned by Air China for calculating the minimum distance, direction judgments, multi-machine cooperative processing. The sensors used for image ysis using the ATMEGA16 microcontroller processor, the ysis of data from the ADNS2610 calculations, and then through the compression processing, wireless tranission systems tranit data to a server (based on the linux system, a powerful computing software), when the server processing the data and then they want to perform the command or data sent back. This sensor technology indicators: data collection accuracy: ± 1mm; data acquisition speed: 500H; Data output interface: 232/IIC/ISP; Wireless Transfer Protocol: Self-set multi-machine transport protocol.

linux adns的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux adns,Linux 网络解析工具 adns 的使用教程,求高人帮我翻译一下论文摘要的信息别忘了在本站进行查找喔。


数据运维技术 » Linux 网络解析工具 adns 的使用教程 (linux adns)