制作zmap的dns探针

本文介绍了如何利用Perl的CPAN模块Net::DNS来制作DNS探针。首先,通过cpan命令行安装Net::DNS包,如果速度慢可以手动下载。接着,编写一个名为buildpacket.pl的Perl脚本用于生成DNS探针,如针对baidu.com的正向查询。运行此脚本后,探针文件可用于ZMap扫描,并且可以调整输出模式以获得不同的扫描结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 进入cpan
    perl -MCPAN -e shell
  • 安装相关包
    install Net::DNS
    (如果这种方式太慢,就到网站http://www.cpan.org/authors/01mailrc.txt.gz去下载,然后放到CPAN软件包下)
  • 然后将以下代码保存成 buildpacket.pl (名字自定义就好)
    use Net::DNS;

    if ( $#ARGV != 0 ) {
        print "Usage: perl buildpacket.pl <domain>\n";
        print " Example: perl buildpacket.pl 1x1.cz\n";
        print " Coded by Vypor, https://github.com/Vypor\n";
        exit(1);
    }

    my $domain = $ARGV[0];

    my $dnspacket = new Net::DNS::Packet( $domain, 'IN', 'ANY' );
    $dnspacket->header->qr(0);    #Query Responce Flag
    $dnspacket->header->aa(0);    #Authoritative Flag
    $dnspacket->header->tc(0);    #Truncated Flag
    $dnspacket->header->ra(0);    #Recursion Desired
    $dnspacket->header->rd(1);    #Recursion Available
    $udp_max = $dnspacket->header->size(65527);    #Max Allowed Byte Size
    my $dnsdata = $dnspacket->data;

    open (FILE, ">>$domain.pkt");
    print FILE $dnsdata;
    close FILE;


  • 生成探针文件(正向 popular域名请求)
    perl buildpacket.pl baidu.com

  • 接下来就可以用这个探针文件去扫了

zmap -p 53 -M udp  --probe-args=file:baidu.com.pkt -n 10000 -o dns_fingerprint.txt


此时dns_fingerprint.txt中的扫描结果:

在这里插入代码片

61.70.117.235
178.20.159.119
193.180.178.72
67.225.170.36
192.64.35.145
185.71.5.65
201.0.218.55
176.9.194.47


 
 

  • 修改一下输出模式
zmap-1.0.3# zmap -p 53 -M udp  --probe-args=file:baidu.com.pkt -n 10000   --output-module=extended_file -o re.txt

此时re.txt中的结果为:

response, saddr, daddr, sport, dport, seq, ack, in_cooldown, is_repeat, timestamp
data, 213.32.58.29, 192.168.43.195, 53, 32424, 1338872, 1195757569, 1, 0,2019-11-22 17:41:04.615
data, 221.164.88.200, 192.168.43.195, 53, 16024, 1345241, 1195757569, 1, 0,2019-11-22 17:41:04.615

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值