1#!/usr/bin/perl
2
3# Extract non-NOERROR responses from a ch202 file. Useful for
4# pre-parsing while looking for NXDOMAIN DGA names.
5
6use strict;
7use warnings;
8
9use Net::Nmsg::Input;
10use Net::WDNS qw(:func);
11
12my $file = shift or die "ch202 filename required";
13
14my $i = Net::Nmsg::Input->open($file);
15while (my $m = <$i>) {
16  my $rcode = $m->get_rcode();
17  my $qname = $m->get_qname();
18  my $qtype = $m->get_qtype();
19  if ($rcode && $qname && $qtype) {
20    printf("%s %s %s\n", rcode_to_str($rcode),
21                         rrtype_to_str($qtype),
22                         domain_to_str($qname));
23  }
24}
25