summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc1
-rw-r--r--noncore/net/wellenreiter/libwellenreiter/source/cardmode.hh2
-rw-r--r--noncore/net/wellenreiter/libwellenreiter/source/proto.cc9
-rw-r--r--noncore/net/wellenreiter/libwellenreiter/source/sniff.cc17
4 files changed, 11 insertions, 18 deletions
diff --git a/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc b/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc
index a1c3945..3aaa4a7 100644
--- a/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc
+++ b/noncore/net/wellenreiter/libwellenreiter/source/cardmode.cc
@@ -1,19 +1,20 @@
1/* 1/*
2 * Set card modes for sniffing 2 * Set card modes for sniffing
3 * 3 *
4 * $Id$ 4 * $Id$
5 */ 5 */
6 6
7#include "cardmode.hh" 7#include "cardmode.hh"
8#include "log.hh"
8 9
9/* main card into monitor function */ 10/* main card into monitor function */
10int card_into_monitormode (pcap_t **orighandle, char *device, int cardtype) 11int card_into_monitormode (pcap_t **orighandle, char *device, int cardtype)
11{ 12{
12 char CiscoRFMON[35] = "/proc/driver/aironet/"; 13 char CiscoRFMON[35] = "/proc/driver/aironet/";
13 FILE *CISCO_CONFIG_FILE; 14 FILE *CISCO_CONFIG_FILE;
14 pcap_t *handle = (pcap_t*)orighandle; 15 pcap_t *handle = (pcap_t*)orighandle;
15 16
16 /* Checks if we have a device to sniff on */ 17 /* Checks if we have a device to sniff on */
17 if(device == NULL) 18 if(device == NULL)
18 { 19 {
19 wl_logerr("No device given"); 20 wl_logerr("No device given");
diff --git a/noncore/net/wellenreiter/libwellenreiter/source/cardmode.hh b/noncore/net/wellenreiter/libwellenreiter/source/cardmode.hh
index fad74cf..7c6a21d 100644
--- a/noncore/net/wellenreiter/libwellenreiter/source/cardmode.hh
+++ b/noncore/net/wellenreiter/libwellenreiter/source/cardmode.hh
@@ -7,26 +7,24 @@
7#include <stdlib.h> 7#include <stdlib.h>
8#include <errno.h> 8#include <errno.h>
9#include <sys/socket.h> 9#include <sys/socket.h>
10#include <netinet/in.h> 10#include <netinet/in.h>
11#include <arpa/inet.h> 11#include <arpa/inet.h>
12 12
13extern "C" 13extern "C"
14{ 14{
15#include <net/bpf.h> 15#include <net/bpf.h>
16#include <pcap.h> 16#include <pcap.h>
17} 17}
18 18
19#include "../../libwellenreiter/source/log.hh"
20
21/* Defines, used for the card setup */ 19/* Defines, used for the card setup */
22#define DEFAULT_PATH "/proc/driver/aironet/%s/Config" 20#define DEFAULT_PATH "/proc/driver/aironet/%s/Config"
23 #define CARD_TYPE_CISCO1 21 #define CARD_TYPE_CISCO1
24 #define CARD_TYPE_NG 2 22 #define CARD_TYPE_NG 2
25 #define CARD_TYPE_HOSTAP3 23 #define CARD_TYPE_HOSTAP3
26 24
27/* only for now, until we have the daemon running */ 25/* only for now, until we have the daemon running */
28/*the config file should provide these information */ 26/*the config file should provide these information */
29#define CARD_TYPE CARD_TYPE_HOSTAP 27#define CARD_TYPE CARD_TYPE_HOSTAP
30 #define SBIN_PATH "/sbin/ifconfig %s promisc up" 28 #define SBIN_PATH "/sbin/ifconfig %s promisc up"
31#define WLANCTL_PATH "/sbin/wlanctl-ng" 29#define WLANCTL_PATH "/sbin/wlanctl-ng"
32 30
diff --git a/noncore/net/wellenreiter/libwellenreiter/source/proto.cc b/noncore/net/wellenreiter/libwellenreiter/source/proto.cc
index 305f401..2ec23f4 100644
--- a/noncore/net/wellenreiter/libwellenreiter/source/proto.cc
+++ b/noncore/net/wellenreiter/libwellenreiter/source/proto.cc
@@ -47,33 +47,32 @@ int send_network_found (const char *guihost, int guiport, void *structure)
47 /* Set lenght of ssid */ 47 /* Set lenght of ssid */
48 memset(temp, 0, sizeof(temp)); 48 memset(temp, 0, sizeof(temp));
49 49
50 if(ptr->ssid_len > 99) 50 if(ptr->ssid_len > 99)
51 snprintf(temp, 4, "%d", ptr->ssid_len); 51 snprintf(temp, 4, "%d", ptr->ssid_len);
52 else if(ptr->ssid_len < 10) 52 else if(ptr->ssid_len < 10)
53 snprintf(temp, 4, "00%d", ptr->ssid_len); 53 snprintf(temp, 4, "00%d", ptr->ssid_len);
54 else 54 else
55 snprintf(temp, 4, "0%d", ptr->ssid_len); 55 snprintf(temp, 4, "0%d", ptr->ssid_len);
56 56
57 memcpy(buffer + 23, temp, 3); 57 memcpy(buffer + 23, temp, 3);
58 58
59 fprintf( stderr, "Temp is %s\n", temp );
60 fprintf( stderr, "ssid_len is %d\n", ptr->ssid_len );
61
62 /* Set ssid */ 59 /* Set ssid */
63 memcpy(buffer + 26, ptr->bssid, ptr->ssid_len); 60 memcpy(buffer + 26, ptr->bssid, ptr->ssid_len);
64 61
65 fprintf( stderr, "Buffer is %s\n", buffer );
66
67 /* Send prepared buffer to GUI */ 62 /* Send prepared buffer to GUI */
63#ifdef DEBUG
64 wl_loginfo("Sending network to GUI: '%s'", buffer);
65#endif
66
68 sendcomm(guihost, guiport, buffer); 67 sendcomm(guihost, guiport, buffer);
69 68
70 return 1; 69 return 1;
71} 70}
72 71
73/* Fill buffer into structur */ 72/* Fill buffer into structur */
74int get_network_found (void *structure, const char *buffer) 73int get_network_found (void *structure, const char *buffer)
75{ 74{
76 wl_network_t *ptr; 75 wl_network_t *ptr;
77 char temp[512]; 76 char temp[512];
78 77
79 ptr = (wl_network_t *)structure; 78 ptr = (wl_network_t *)structure;
diff --git a/noncore/net/wellenreiter/libwellenreiter/source/sniff.cc b/noncore/net/wellenreiter/libwellenreiter/source/sniff.cc
index 84caf12..c703052 100644
--- a/noncore/net/wellenreiter/libwellenreiter/source/sniff.cc
+++ b/noncore/net/wellenreiter/libwellenreiter/source/sniff.cc
@@ -85,64 +85,59 @@ void process_packets(const struct pcap_pkthdr *pkthdr, const unsigned char *pack
85 a noise packet, if this comes up */ 85 a noise packet, if this comes up */
86 pinfoptr->isvalid = 0; 86 pinfoptr->isvalid = 0;
87 return; 87 return;
88 } 88 }
89 if (pinfoptr->channel < 1 || pinfoptr->channel > 14) 89 if (pinfoptr->channel < 1 || pinfoptr->channel > 14)
90 { 90 {
91 /* Only channels between 1 and 14 are possible 91 /* Only channels between 1 and 14 are possible
92 others must be noise packets */ 92 others must be noise packets */
93 pinfoptr->isvalid = 0; 93 pinfoptr->isvalid = 0;
94 return; 94 return;
95 } 95 }
96 96
97 printf( "cap_ESS is %d, cap_IBSS is %d\n", pinfoptr->cap_ESS, pinfoptr->cap_IBSS );
98
99 /* Here should be the infos to the gui issued */ 97 /* Here should be the infos to the gui issued */
100 if (pinfoptr->cap_ESS == 1 &&pinfoptr->cap_IBSS ==0) 98 if (pinfoptr->cap_ESS == 1 &&pinfoptr->cap_IBSS ==0)
101 { 99 {
102 wl_loginfo("Found an access point"); 100 wl_loginfo("Found an access point");
103 wl_net.net_type=1; 101 wl_net.net_type=1;
104 } 102 }
105 else if(pinfoptr->cap_ESS == 0 && pinfoptr->cap_IBSS == 2) 103 else if(pinfoptr->cap_ESS == 0 && pinfoptr->cap_IBSS == 2)
106 { 104 {
107 wl_loginfo("Found an ad-hoc network"); 105 wl_loginfo("Found an ad-hoc network");
108 wl_net.net_type=2; 106 wl_net.net_type=2;
109 } 107 }
108
110 if (strcmp (pinfoptr->ssid,NONBROADCASTING) ==0) 109 if (strcmp (pinfoptr->ssid,NONBROADCASTING) ==0)
111 {
112 wl_loginfo("Net is a non-broadcasting network"); 110 wl_loginfo("Net is a non-broadcasting network");
113 }
114 else 111 else
115 {
116 wl_loginfo("SSID is: %s", pinfoptr->ssid); 112 wl_loginfo("SSID is: %s", pinfoptr->ssid);
117 // wl_net.bssid=pinfoptr->ssid; 113
118 } 114 wl_loginfo("SSID is: %s", pinfoptr->ssid);
115 memcpy(wl_net.bssid, pinfoptr->ssid, sizeof(wl_net.bssid)-1);
119 116
120 wl_loginfo("SSID length is: %d", pinfoptr->ssid_len); 117 wl_loginfo("SSID length is: %d", pinfoptr->ssid_len);
121 wl_net.ssid_len=pinfoptr->ssid_len; 118 wl_net.ssid_len=pinfoptr->ssid_len;
122 119
123 wl_loginfo("Channel is: %d", pinfoptr->channel); 120 wl_loginfo("Channel is: %d", pinfoptr->channel);
124 wl_net.channel=pinfoptr->channel; 121 wl_net.channel=pinfoptr->channel;
125 wl_net.wep=pinfoptr->cap_WEP; 122 wl_net.wep=pinfoptr->cap_WEP;
126 123
127 wl_loginfo("Mac is: %s", pinfoptr->sndhwaddr); 124 wl_loginfo("Mac is: %s", pinfoptr->sndhwaddr);
128 memcpy(wl_net.mac, pinfoptr->sndhwaddr, sizeof(wl_net.mac)-1);; 125 memcpy(wl_net.mac, pinfoptr->sndhwaddr, sizeof(wl_net.mac)-1);;
129 wl_loginfo("SSID is: %s", pinfoptr->ssid); 126
130 memcpy(wl_net.bssid, pinfoptr->ssid, sizeof(wl_net.bssid)-1);
131
132 // printf ("\n\tDest : %s\n",pinfoptr->desthwaddr);
133 send_network_found((char *)guihost, guiport, &wl_net); 127 send_network_found((char *)guihost, guiport, &wl_net);
134 wl_loginfo("Sent network to GUI '%s:%d'", guihost, guiport); 128 wl_loginfo("Sent network to GUI '%s:%d'", guihost, guiport);
135 } 129 }
136 break; 130 break;
131
137 default: 132 default:
138 wl_logerr("Unknown IEEE802.11 frame subtype (%d)", FC_SUBTYPE(fc)); 133 wl_logerr("Unknown IEEE802.11 frame subtype (%d)", FC_SUBTYPE(fc));
139 break; 134 break;
140 } /* End of switch over different mgt frame types */ 135 } /* End of switch over different mgt frame types */
141 136
142 break; 137 break;
143 138
144 case T_CTRL: 139 case T_CTRL:
145 wl_loginfo("Received control frame, not implemented yet"); 140 wl_loginfo("Received control frame, not implemented yet");
146 break; 141 break;
147 142
148 case T_DATA: 143 case T_DATA: