Changeset 1472 for trunk/pdns/pdns/dnsdemog.cc
- Timestamp:
- 12/24/09 17:57:03 (3 years ago)
- Files:
-
- 1 modified
-
trunk/pdns/pdns/dnsdemog.cc (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/pdns/pdns/dnsdemog.cc
r1427 r1472 42 42 while(pr.getUDPPacket()) { 43 43 if(ntohs(pr.d_udp->uh_dport)==53 && pr.d_len > 12) { 44 try {45 dnsheader* dh= (dnsheader*) pr.d_payload;44 try { 45 dnsheader* dh= (dnsheader*) pr.d_payload; 46 46 47 if(dh->rd || dh->qr)48 continue;47 if(dh->rd || dh->qr) 48 continue; 49 49 50 MOADNSParser mdp((const char*)pr.d_payload, pr.d_len);50 MOADNSParser mdp((const char*)pr.d_payload, pr.d_len); 51 51 52 memcpy(&entry.ip, &pr.d_ip->ip_src, 4);53 entry.port = pr.d_udp->uh_sport;54 entry.id=dh->id;52 memcpy(&entry.ip, &pr.d_ip->ip_src, 4); 53 entry.port = pr.d_udp->uh_sport; 54 entry.id=dh->id; 55 55 56 // ecount[entry]++;57 string::size_type pos = 0;58 for(pos = 0; pos < mdp.d_qname.size() ; ++pos ) {59 char c=mdp.d_qname[pos] ;60 if(!isalnum(c) && c!='-' && c!='.')61 break;62 }63 if(pos ==mdp.d_qname.size()) {64 cout << "insert into dnsstats (source, port, id, query, qtype, tstampSec, tstampUsec, arcount) values ('" << U32ToIP(ntohl(entry.ip)) <<"', "<< ntohs(entry.port) <<", "<< ntohs(dh->id);65 cout <<", '"<<mdp.d_qname<<"', "<<mdp.d_qtype<<", " << pr.d_pheader.ts.tv_sec <<", " << pr.d_pheader.ts.tv_usec;66 cout <<", "<< ntohs(dh->arcount) <<");\n";67 }56 // ecount[entry]++; 57 string::size_type pos = 0; 58 for(pos = 0; pos < mdp.d_qname.size() ; ++pos ) { 59 char c=mdp.d_qname[pos] ; 60 if(!isalnum(c) && c!='-' && c!='.') 61 break; 62 } 63 if(pos ==mdp.d_qname.size()) { 64 cout << "insert into dnsstats (source, port, id, query, qtype, tstampSec, tstampUsec, arcount) values ('" << U32ToIP(ntohl(entry.ip)) <<"', "<< ntohs(entry.port) <<", "<< ntohs(dh->id); 65 cout <<", '"<<mdp.d_qname<<"', "<<mdp.d_qtype<<", " << pr.d_pheader.ts.tv_sec <<", " << pr.d_pheader.ts.tv_usec; 66 cout <<", "<< ntohs(dh->arcount) <<");\n"; 67 } 68 68 69 }70 catch(MOADNSException& mde) {71 // cerr<<"error parsing packet: "<<mde.what()<<endl;72 continue;73 }74 catch(std::exception& e) {75 cerr << e.what() << endl;76 continue;77 }69 } 70 catch(MOADNSException& mde) { 71 // cerr<<"error parsing packet: "<<mde.what()<<endl; 72 continue; 73 } 74 catch(std::exception& e) { 75 cerr << e.what() << endl; 76 continue; 77 } 78 78 } 79 79 }