Added headers with license text
[sniffer.git] / main.cpp
blob79eb7e6efac462fce0659226b652deb731e03853
1 // Copyright (c) 2012, Miriam Ruiz <miriam@debian.org>. All rights reserved.
2 //
3 // Redistribution and use in source and binary forms, with or without
4 // modification, are permitted provided that the following conditions are met:
5 //
6 // 1. Redistributions of source code must retain the above copyright notice,
7 // this list of conditions and the following disclaimer.
8 //
9 // 2. Redistributions in binary form must reproduce the above copyright
10 // notice, this list of conditions and the following disclaimer in the
11 // documentation and/or other materials provided with the distribution.
12 //
13 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER "AS IS", AND ANY EXPRESS
14 // OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
15 // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
16 // NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
17 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
18 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
19 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
20 // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
22 // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 #include "sniffer.h"
26 #include <pcap.h>
27 #include <stdio.h>
28 #include <stdlib.h>
29 #include <string.h>
31 int main()
33 pcap_if_t* alldevsp;
34 pcap_if_t* device;
35 char errbuf[100];
36 char* devname;
37 char devs[100][100];
38 int count = 1;
39 int n;
41 // Get the list of available devices
42 printf("Finding available devices ... ");
43 if( pcap_findalldevs( &alldevsp , errbuf) )
45 printf("Error finding devices : %s" , errbuf);
46 exit(1);
48 printf("Done");
50 // Print available devices
51 printf("\nAvailable Devices are :\n");
52 for(device = alldevsp ; device != NULL ; device = device->next)
54 printf("%d. %s - %s\n" , count , device->name , device->description);
55 if(device->name != NULL)
57 strcpy(devs[count] , device->name);
59 count++;
62 // Ask user which device to sniff
63 printf("Enter the number of the device you want to sniff : ");
64 scanf("%d", &n);
65 devname = devs[n];
67 filter::Sniffer sniffer;
68 sniffer.loop(devname);
70 return 0;