Jeoss WIFI Sniffer

Many times when setting-up a server it results extremely handy being able to sniff network traffic on the server's interfaces. We will show here how to use a capture daemon able to remotely transmit the captured traffic to a GUI Wireshark. The ultimate challenge would be capturing raw unauthenticated WIFI traffic.
Then, the idea is to set up a Jeoss box able to capture WIFI traffic and retransmit it on an Ethernet connection to a remote Wireshark station.


a) On our Jeoss Box

Let's consider our Jeos box has one or two Atheros interfaces and one or more Ethernet interfaces.

Let's start with /etc/network/interfaces looking something like this:

# The loopback network interface
auto lo
iface lo inet loopback

# The ethernet network interface
       auto eth0
       iface eth0 inet dhcp

auto eth0:0
       iface eth0:0 inet static

Let's stop our Atheros WIFI card/s

patrick@jeoss804:~$ sudo airmon-ng stop ath1
patrick@jeoss804:~$ sudo airmon-ng stop ath0

Let's start ath0 listening in monitor mode on all channels

patrick@jeoss804:~$ sudo airmon-ng start wifi0     

Depending on our box configuration we can get an answer like this:

patrick@jeoss804:~$ sudo airmon-ng start wifi0
Found 1 processes that could cause trouble.
If airodump-ng, aireplay-ng or airtun-ng stops working after
a short period of time, you may want (some of) them!

PID     Name
3931    dhclient3
Interface   Chipset    Driver

wifi0       Atheros    madwifi-ng
wifi1       Atheros    madwifi-ng
ath0        Atheros    madwifi-ng VAP (parent: wifi0) (monitor mode enabled)

Then we kill the potentially problematic process related to ath0

patrick@jeoss804:~$ sudo kill 3931 

Now we can inspect the whole WIFI spectrum and decide which channel we are going to analyze deeper.

patrick@jeoss804:~$ sudo airodump-ng ath0
 CH 10 ][ Elapsed: 8 s ][ 2010-09-13 08:08
BSSID              PWR Bea #D, #/s  CH  MB   ENC  CIPHER AUTH ESSID  
 00:60:B3:F3:F0:66 22  30  13    0   7  54e. WEP  WEP         WLAN_78 
 00:25:68:EE:EB:20 18  18   0    0   1  54e  WPA  CCMP   PSK  vodaEB1F
 00:03:C9:8C:F9:34 17  14   0    0  11  54   OPN              Comtrend
 00:1A:2B:00:75:9A 16  20   0    0   3  54   WEP  WEP         WLAN_FA 
 00:26:F2:5F:6E:8E 16  19   0    0   6  54e  WPA2 CCMP   PSK  HIPOCRATES 
 00:22:15:75:7E:4E  9  10   0    0   1  54   WEP  WEP         Karlos
 00:26:5A:9A:31:86  9  11   0    0   6  54e. WPA2 TKIP   PSK  f.tower
 00:1A:2B:2B:4A:00  9  10   0    0  11  54   WEP  WEP         JAZZTEL_30
 00:1A:2B:5D:D8:F1  7   6   0    0  11  54   WEP  WEP         JAZZTEL_DC
 00:1A:2B:6F:7B:32  6  10   0    0   3  54   WEP  WEP         WLAN_22   
 00:24:D1:16:60:75  5   6   0    0  11  54   WPA  TKIP   PSK  x11       
 00:11:F5:49:1D:2F  4   3   0    0  11  54   WPA  TKIP   PSK  xmon_df
 00:24:D2:23:7B:61  3   4   0    0   5  54e  WEP  WEP         Smith2010

 BSSID              STATION            PWR   Rate    Lost  Packets  Probes 
 00:60:B3:F3:F0:66  00:13:E8:76:33:8D   48    0 - 1     22        3  WLAN_78
 00:23:08:E3:B1:86  00:23:4D:5F:12:41    4    0 - 1      0        7
 00:1A:2B:2B:4A:00  00:23:32:37:29:AA   14    0 -11      0        2
 (not associated)   00:16:CF:AD:2A:E5    2    0 - 1      0        2  WLAN_DD

We decide to analyze the traffic on channel 7, then we stop and start ath0 but this time telling it to listen in monitor mode only on channel 7

patrick@jeoss804:~$ sudo airmon-ng stop ath0 
patrick@jeoss804:~$ sudo airmon-ng start wifi0 7

Let's start our packet capture daemon with the Jeoss box Ethernet interface (eth0) IP as the Wireshark communication interface.

patrick@jeoss804:~$ sudo rpcapd -b -n
Rpcapd 1.1.1 for Debian/Ubuntu/Jeoss by Patrick Masotta (2010)\~jeoss\
Press CTRL + C to stop the server...

b) On our Windows/Linux PC running Wireshark (this how-to uses Windows Wireshark v1.4.0)

Menu Capture/Interfaces...
select the "Options" of the Ethernet Interface that connects to the Jeoss Box


Select Interface Remote...


Type Jeoss Box Ethernet IP address


Select the remote capture interface rpcap:/[]/ath0 and Start capturing

Next picture shows a capture of "real" 802.11 traffic where we filter packets that match ssid=WLAN_78

NOTE1: This set-up requires a Jeoss install + the included optional collections "Madwifi-ng" and "Rpcapd"

NOTE2: rpcapd is a good tool for troubleshooting our server traffic but using it on a production server could lead to a security breach when a remote un-authenticated computer can receive the traffic of our server ports.