root/honeyclient/branches/rel/1.0/Capture2/capture-client-xeno-mod/NetworkAdapter.cpp

Revision 823, 1.3 kB (checked in by xkovah, 1 year ago)

adding the files finally

Line 
1 #include "NetworkAdapter.h"
2
3 NetworkAdapter::NetworkAdapter(NetworkPacketDumper* npDumper, string aName, pcap_t* adap)
4 {
5     networkPacketDumper = npDumper;
6     adapterName = aName;
7     adapter = adap;
8     running = false;
9
10
11    
12 }
13
14 NetworkAdapter::~NetworkAdapter(void)
15 {
16     stop();
17 }
18
19 void
20 NetworkAdapter::start()
21 {
22     if(!running)
23     {
24         string logName = "logs\\";
25         logName += adapterName.substr(adapterName.find_last_of("\\")+1);
26         logName += ".pcap";
27            
28         dumpFile = networkPacketDumper->pfn_pcap_dump_open(adapter, logName.c_str());
29         adapterThread = new Thread(this);
30         string threadName = "NetworkPacketDumper-";
31         threadName += adapterName;
32         char* t = (char*)threadName.c_str();
33         adapterThread->start(t);
34         running = true;
35     }
36 }
37
38 void
39 NetworkAdapter::stop()
40 {
41     if(running)
42     {
43         adapterThread->stop();
44         networkPacketDumper->pfn_pcap_dump_close(dumpFile);
45         networkPacketDumper->pfn_pcap_close(adapter);
46         running = false;
47     }
48 }
49
50 void
51 NetworkAdapter::run()
52 {
53     int res;
54     struct pcap_pkthdr *header;
55     const u_char *pkt_data;
56     while((res = networkPacketDumper->pfn_pcap_next_ex( adapter, &header, &pkt_data)) >= 0)
57     {     
58         if(res > 0)
59         {
60             networkPacketDumper->pfn_pcap_dump((unsigned char *) dumpFile, header, pkt_data);
61         }
62     }   
63 }
Note: See TracBrowser for help on using the browser.