Changeset 762 for trunk/pdns/pdns/dnsscan.cc
- Timestamp:
- 04/24/06 09:29:38 (7 years ago)
- Files:
-
- 1 modified
-
trunk/pdns/pdns/dnsscan.cc (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/pdns/pdns/dnsscan.cc
r761 r762 27 27 try 28 28 { 29 PcapPacketReader pr(argv[1]);30 29 Socket sock(InterNetwork, Datagram); 31 30 31 /* 32 32 IPEndpoint remote(argc > 2 ? argv[2] : "127.0.0.1", 33 33 argc > 3 ? atoi(argv[3]) : 5300); 34 34 35 */ 35 36 36 while(pr.getUDPPacket()) { 37 try { 38 MOADNSParser mdp((const char*)pr.d_payload, pr.d_len); 39 for(int i=0; i < mdp.d_qname.length(); ++i) 40 if(!isalnum(mdp.d_qname[i]) && mdp.d_qname[i]!='.' && mdp.d_qname[i]!='-' && mdp.d_qname[i]!='_') { 41 // cout<<mdp.d_qname<<"|"<<mdp.d_qtype<<"|"<<mdp.d_qclass<<"\n"; 42 // sock.sendTo(string(pr.d_payload, pr.d_payload + pr.d_len), remote); 43 break; 37 if(argc<2) { 38 cerr<<"Syntax: dnsscan file1 [file2 ..] "<<endl; 39 exit(1); 40 } 41 42 for(int n=1; n < argc; ++n) { 43 PcapPacketReader pr(argv[n]); 44 45 while(pr.getUDPPacket()) { 46 try { 47 MOADNSParser mdp((const char*)pr.d_payload, pr.d_len); 48 for(int i=0; i < mdp.d_qname.length(); ++i) 49 if(!isalnum(mdp.d_qname[i]) && mdp.d_qname[i]!='.' && mdp.d_qname[i]!='-' && mdp.d_qname[i]!='_') { 50 // cout<<mdp.d_qname<<"|"<<mdp.d_qtype<<"|"<<mdp.d_qclass<<"\n"; 51 // sock.sendTo(string(pr.d_payload, pr.d_payload + pr.d_len), remote); 52 break; 53 } 54 if(mdp.d_qtype > 256 || mdp.d_qclass!=1 ) { 55 // sock.sendTo(string(pr.d_payload, pr.d_payload + pr.d_len), remote); 56 44 57 } 45 if(mdp.d_qtype > 256 || mdp.d_qclass!=1 ) { 58 for(MOADNSParser::answers_t::const_iterator i=mdp.d_answers.begin(); i!=mdp.d_answers.end(); ++i) { 59 60 } 61 62 } 63 catch(MOADNSException &e) { 64 cout<<"Error from remote "<<U32ToIP(ntohl(*((uint32_t*)&pr.d_ip->ip_src)))<<": "<<e.what()<<"\n"; 46 65 // sock.sendTo(string(pr.d_payload, pr.d_payload + pr.d_len), remote); 47 48 66 } 49 for(MOADNSParser::answers_t::const_iterator i=mdp.d_answers.begin(); i!=mdp.d_answers.end(); ++i) {50 51 }52 53 }54 catch(MOADNSException &e) {55 cout<<"Error: "<<e.what()<<"\n";56 sock.sendTo(string(pr.d_payload, pr.d_payload + pr.d_len), remote);57 67 } 58 68 }