public static void delete() { while (true) { dnsSnifferTableAdapters.req_tableTableAdapter reqta = new MyDnsSniffer.dnsSnifferTableAdapters.req_tableTableAdapter(); DateTime time = DateTime.Now; Thread.Sleep(5000); reqta.DeleteQueryTime(time); } }
private static void device_OnPacketArrival(object sender, CaptureEventArgs e) { DateTime time = e.Packet.Timeval.Date; var packet = PacketDotNet.Packet.ParsePacket(e.Packet.LinkLayerType, e.Packet.Data); var udpPacket = PacketDotNet.UdpPacket.GetEncapsulated(packet); //PacketDotNet.TcpPacket.GetEncapsulated(packet); if (udpPacket != null) { var ipPacket = (PacketDotNet.IpPacket)udpPacket.ParentPacket; System.Net.IPAddress srcIp = ipPacket.SourceAddress; System.Net.IPAddress dstIp = ipPacket.DestinationAddress; // MessageBox.Show(srcIp.ToString() + " " + dstIp.ToString()); int srcPort = udpPacket.SourcePort; int dstPort = udpPacket.DestinationPort; if ((srcPort == 53) || (dstPort == 53)) { IPEndPoint a = new IPEndPoint(ipPacket.SourceAddress, srcPort); response = new Response(a, udpPacket.PayloadData); if ((response.header.QR == false))// && (srcIp == IPAddress.Parse("10.12.11.74"))) { Console.WriteLine("Got an Question..."); display(); dnsSnifferTableAdapters.req_tableTableAdapter reqta = new MyDnsSniffer.dnsSnifferTableAdapters.req_tableTableAdapter(); reqta.Insert(Convert.ToDecimal(response.header.ID), Convert.ToDecimal(srcPort), dstIp.ToString(), response.Questions[0].QName.ToString(),time); } else if ((response.header.QR == true))// && (dstIp == IPAddress.Parse("10.12.11.74"))) { Console.WriteLine("Got an Answer.."); if (response.Answers.Count > 0) { Console.WriteLine("Got an Answer.."); display(); } dnsSnifferTableAdapters.res_tableTableAdapter resta = new MyDnsSniffer.dnsSnifferTableAdapters.res_tableTableAdapter(); foreach (AnswerRR answerRR in response.Answers) { resta.Insert(Convert.ToDecimal(response.header.ID), Convert.ToDecimal(dstPort), srcIp.ToString(), r_id, answerRR.NAME.ToString(), answerRR.RECORD.ToString(), time); } dnsSnifferTableAdapters.additional_host_ipTableAdapter addta = new MyDnsSniffer.dnsSnifferTableAdapters.additional_host_ipTableAdapter(); foreach (AdditionalRR additionalRR in response.Additionals) { if(additionalRR.RECORD.ToString()!="not-used") addta.Insert(r_id,additionalRR.NAME.ToString(), additionalRR.RECORD.ToString()); } r_id++; } } } }