iPerf / iPerf3 iOS to Mac OS Testing Examples

iPerf / iPerf3 iOS to Mac OS Testing Examples

Following software and hardware used for examples.

WiFiPerf – iPerf app for iOS
iPerf3 – iPerf for Mac OS
iPhone 4, iOS 5 Beta 7
Macbook Air, Mac OS Lion

Test results between an iPhone 4 running iOS 5 beta 7 and Macbook Air running Mac OS Lion. Both devices are connected to the same access point. The goal if this testing is to show the different test types not performance of devices or wireless network.

iOS iPerf Server to Mac OS Lion iPerf Client Test

Basic Mac OS iPerf client to iOS iPerf server test.

Config/Operation items to confirm:
– WiFiPerf is in foreground
– iOS is not sleep mode
– WiFiPerf server is enabled
– Server port configured matches port used by client
– Both devices can reach each other via IP addresses

iPhone 4 iOS iPerf Server Settings

Mac OS iPerf3 Client Results

new-host-2:~ aa140$ ./iperf3 -c 172.16.12.104
Connecting to host 172.16.12.104, port 5201
[  4] local 172.16.12.108 port 58978 connected to 172.16.12.104 port 5201
[ ID] Interval       Transfer     Bandwidth
      Sent
[  4] 0.00-5.02 sec  6.00 MBytes  10.0 Mbits/sec
      Received
[  4] 0.00-5.02 sec  6.00 MBytes  10.0 Mbits/sec

iperf Done.

iOS Server Log Show Results

Tap Log screen from Server Setting screen to see new results.

Parallel Client Test

Configure WiFiPerf on iOS as server. Use iPerf3 on Mac OS as client.

./iperf3 -c 172.16.12.104 -t 60 -i 10 -P 5

-t = 60 second test
-i = interval results every 10 seconds
-P = 5 parallel clients

new-host:~ aa140$ ./iperf3 -c 172.16.12.104 -t 60 -i 10 -P 5
Connecting to host 172.16.12.104, port 5201
[  4] local 172.16.12.112 port 49729 connected to 172.16.12.104 port 5201
[  5] local 172.16.12.112 port 49730 connected to 172.16.12.104 port 5201
[  6] local 172.16.12.112 port 49731 connected to 172.16.12.104 port 5201
[  7] local 172.16.12.112 port 49732 connected to 172.16.12.104 port 5201
[  8] local 172.16.12.112 port 49733 connected to 172.16.12.104 port 5201
[ ID] Interval       Transfer     Bandwidth
[  4] 0.00-10.09 sec  2.75 MBytes  2.29 Mbits/sec
[  5] 0.00-10.09 sec  2.62 MBytes  2.18 Mbits/sec
[  6] 0.00-10.09 sec  2.50 MBytes  2.08 Mbits/sec
[  7] 0.00-10.09 sec  2.38 MBytes  1.98 Mbits/sec
[  8] 0.00-10.09 sec  2.38 MBytes  1.98 Mbits/sec
[SUM] 0.00-10.09 sec  12.6 MBytes  10.5 Mbits/sec
[ ID] Interval       Transfer     Bandwidth
[  4] 10.09-20.11 sec  2.25 MBytes  1.88 Mbits/sec
[  5] 10.09-20.11 sec  2.25 MBytes  1.88 Mbits/sec
[  6] 10.09-20.11 sec  2.25 MBytes  1.88 Mbits/sec
[  7] 10.09-20.11 sec  2.25 MBytes  1.88 Mbits/sec
[  8] 10.09-20.11 sec  2.25 MBytes  1.88 Mbits/sec
[SUM] 10.09-20.11 sec  12.6 MBytes  10.6 Mbits/sec
[ ID] Interval       Transfer     Bandwidth
[  4] 20.11-30.12 sec  2.25 MBytes  1.89 Mbits/sec
[  5] 20.11-30.12 sec  2.38 MBytes  1.99 Mbits/sec
[  6] 20.11-30.12 sec  2.25 MBytes  1.89 Mbits/sec
[  7] 20.11-30.12 sec  2.25 MBytes  1.89 Mbits/sec
[  8] 20.11-30.12 sec  2.25 MBytes  1.89 Mbits/sec
[SUM] 20.11-30.12 sec  12.6 MBytes  10.6 Mbits/sec
[ ID] Interval       Transfer     Bandwidth
[  4] 30.12-40.17 sec  2.12 MBytes  1.77 Mbits/sec
[  5] 30.12-40.17 sec  2.12 MBytes  1.77 Mbits/sec
[  6] 30.12-40.17 sec  2.12 MBytes  1.77 Mbits/sec
[  7] 30.12-40.17 sec  2.25 MBytes  1.88 Mbits/sec
[  8] 30.12-40.17 sec  2.12 MBytes  1.77 Mbits/sec
[SUM] 30.12-40.17 sec  12.6 MBytes  10.5 Mbits/sec
[ ID] Interval       Transfer     Bandwidth
[  4] 40.17-50.34 sec  2.00 MBytes  1.65 Mbits/sec
[  5] 40.17-50.34 sec  1.88 MBytes  1.55 Mbits/sec
[  6] 40.17-50.34 sec  1.88 MBytes  1.55 Mbits/sec
[  7] 40.17-50.34 sec  1.38 MBytes  1.13 Mbits/sec
[  8] 40.17-50.34 sec  1.38 MBytes  1.13 Mbits/sec
[SUM] 40.17-50.34 sec  12.6 MBytes  10.4 Mbits/sec
[ ID] Interval       Transfer     Bandwidth
[  4] 50.34-90.06 sec   768 KBytes   158 Kbits/sec
[  5] 50.34-90.06 sec   896 KBytes   185 Kbits/sec
[  6] 50.34-90.06 sec   896 KBytes   185 Kbits/sec
[  7] 50.34-90.06 sec   896 KBytes   185 Kbits/sec
[  8] 50.34-90.06 sec   768 KBytes   158 Kbits/sec
[SUM] 50.34-90.06 sec  12.6 MBytes  2.67 Mbits/sec
[ ID] Interval       Transfer     Bandwidth
      Sent
[  4] 0.00-90.06 sec  12.1 MBytes  1.13 Mbits/sec
      Received
[  4] 0.00-90.06 sec  12.1 MBytes  1.13 Mbits/sec
      Sent
[  5] 0.00-90.06 sec  12.1 MBytes  1.13 Mbits/sec
      Received
[  5] 0.00-90.06 sec  12.1 MBytes  1.13 Mbits/sec
      Sent
[  6] 0.00-90.06 sec  11.9 MBytes  1.11 Mbits/sec
      Received
[  6] 0.00-90.06 sec  11.9 MBytes  1.11 Mbits/sec
      Sent
[  7] 0.00-90.06 sec  11.4 MBytes  1.06 Mbits/sec
      Received
[  7] 0.00-90.06 sec  11.4 MBytes  1.06 Mbits/sec
      Sent
[  8] 0.00-90.06 sec  11.1 MBytes  1.04 Mbits/sec
      Received
[  8] 0.00-90.06 sec  11.1 MBytes  1.04 Mbits/sec
      Total sent
[SUM] 0.00-90.06 sec  58.6 MBytes  5.46 Mbits/sec
      Total received
[SUM] 0.00-90.06 sec  58.6 MBytes  5.46 Mbits/sec

iperf Done.

(more examples will be added soon)

WiFiPerf – iPerf3 / iPerf 3 for iOS App (iPhone, iPod Touch, iPad) #iperf #iperf3

WiFiPerf – iPerf3 / iPerf 3 for iOS App (iPhone, iPod Touch, iPad)

Download “WiFiPerf” from iOS app store. This iOS app is compatible with iPerf3 / iPerf 3 for Mac OS Snow Leopard and Lion

Screen Shots Below

Client Settings – IP address, server port, and test duration can be configured. If localhost / 127.0.0.1 is configured as server address then app will test with itself (loopback test, requires server to be enabled). To start test the on/off button is toggled. When the client test completes the toggle resets to off.

Server Settings – Server enable/disable and port can be configured. The Server address is taken from the WiFi interface address. If the WiFi interface is disabled, no info will be shown for server address value.

Server Log – This screen shows results from bandwidth tests. The log screen must be refreshed by pulling screen down to show new results or toggling between server settings and log screen.

Free WiFi Diagnostic Tool App Included in Mac OS X Lion

Free WiFi Diagnostic Tool App Included in Mac OS X Lion

Mac OS X Lion has a new WiFi diagnostic tool. The app (Wi-Fi Diagnostics.app) can be accessed from path /System/Library/CoreServices/

To launch app follow below.

1) Control click Finder icon
2) Select “Go To Folder”
3) Copy/Paste file path into form /System/Library/CoreServices/ and click Go

4) Locate Wi-Fi Diagnostics.app and click to launch

5) Select action to perform

Info from Apple about each option below.

Use Wi-Fi Diagnostics to diagnose your wireless network, record network events, capture network traffic, and enable debug logs. Wi-Fi Diagnostics produces a report that can be sent to Apple for analysis.

Monitor performance displays a graph of network signal strength, noise level, transmit power, and data rate.

Record events detects and reports dropped network connections, roaming, and other network events, such as connecting to or disconnecting from a network or network device.

Capture raw frames captures all network traffic on the Wi-Fi interface.

Turn on Debug Logs provides specific details of every wireless connection.

Select what you’d like to investigate, click Continue to continue. When you finish using Wi-Fi Diagnostics, click Report to submit the diagnostic data to Apple for analysis.

6) Screen shot of Monitor Performance screen

WiFi Diagnostics is not a WiFi Scanner / survey tool and will only show information about your current WiFi connection. If you are looking for a wifi scanner tool for Mac OS X try WiFi Scanner or WLANController on the Mac App Store.

Using Mac OS Airport Command Line Utility to Display and Speak RSSI Values

Using Mac OS Airport Command Line Utility to Display and Speak RSSI Values

The airport command line utility available in Mac OS and can be very useful for troubleshooting and measuring WiFi signal strength.

To test on your Mac OS machine copy/paste into a terminal window.

Three ways to use the airport command line utility to display and speak RSSI values are below.

1) List RSSI value every 0.5 seconds

Command

while x=1; do /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | grep CtlRSSI; sleep 0.5; done

Results

agrCtlRSSI: -69
agrCtlRSSI: -69
agrCtlRSSI: -69
agrCtlRSSI: -69

2) Only display most recent RSSI value.

Command

clear; while x=1; do /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | grep CtlRSSI | sed -e 's/^.*://g' | xargs -I SIGNAL printf "\rRSSI dBm: SIGNAL"; sleep 0.5; done

Result

RSSI dBm: -69

3) Computer voice reading RSSI value.

Command

clear; while x=1; do /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | grep CtlRSSI | sed -e 's/^.*://g' | say -v agnes; sleep 0.5; done

Result

Computer voice reading RSSI value every 0.5 seconds

Voice Options

change “agnes” in above to one of the other options from below.

Female Voices

$ say -v Agnes “hello world”
$ say -v Kathy “hello world”
$ say -v Princess “hello world”
$ say -v Vicki “hello world”
$ say -v Victoria “hello world”

Male Voices

$ say -v Bruce “hello world”
$ say -v Fred “hello world”
$ say -v Junior “hello world”
$ say -v Ralph “hello world”

Novelty Voices

$ say -v Albert “hello world”
$ say -v “Bad News” “hello world”
$ say -v Bahh “hello world”
$ say -v Bells “hello world”
$ say -v Boing “hello world”
$ say -v Bubbles “hello world”
$ say -v Cellos “hello world”
$ say -v Deranged “hello world”
$ say -v “Good News” “hello world”
$ say -v Hysterical “hello world”
$ say -v “Pipe Organ” “hello world”
$ say -v Trinoids “hello world”
$ say -v Whisper “hello world”
$ say -v Zarvox “hello world

WiFi Scanner App Now Available on iPhone App Store

WiFi Scanner App Now Available on iPhone App Store

NOTE: This post was part of a 2011 April Fool’s Day prank. The app is 100% real but still not allowed on the iPhone App Store. WiFiMedic is the closest possible app to a WiFi Scanner on the app store for iPhones and iPads

We finally did it!!

We got our iPhone WiFi Scanner app approved by the iPhone App Store.

For those who have followed the history of WiFi scanning apps getting banned by Apple this is a glorious day.

To celebrate the occasion we are giving away 50 promo codes to download the app from the iPhone App Store. To get a promo code please click here.

Screen shot below of app.

WiFiMedic

WiFiMedic is the closest possible app to a WiFi Scanner on the app store for iPhones and iPads.

WiFiMedic reports the vital signs of your WiFi connection. If your device is associated to an access point the app can report information below. Note: Device WiFi must be disabled and re-enabled to take each successive reading

Access point manufacturer name
Access point MAC address
Access point network name (SSID)
Access point signal strength in dBm (RSSI)
Access point channel
Access point security type (Open, WEP, WPA, or WPA2)
Associated data rate in Mbps
IP address of WiFi connection

Using Beacon Stuffing for WiFi Advertisements

Using Beacon Stuffing for WiFi Advertisements

We have implemented a WiFi advertisement architecture that uses Twitter as the user interface and our WLANController.com product to push advertisement message changes to access points. A similar solution is described in a Microsoft Research paper titled Beacon-Stuffing: Wi-Fi Without Associations. Summary of paper is below and it can be downloaded from here.

In this paper, we present beacon-stuffing, a low bandwidth communication protocol for IEEE 802.11 networks that enables APs to communicate with clients without association. This enables clients to receive information from nearby APs even when they are disconnected, or when connected to another AP. Our scheme is complimentary to 802.11 association and works by overloading 802.11 management frames while not breaking the standard. The beacon-stuffing protocol is based on two key observations. First, clients receive beacons from APs even when they are not associated to them. Second, it is possible to overload fields in the beacon and other management frames to embed data. APs embed content in Beacon and Probe Response frames, while clients overload Probe Requests to send data. We have implemented beacon-stuffing on various wireless cards on Windows XP and Windows Vista. These techniques require minimal driver changes at the clients and APs.

Personal Hotspot for Mac OS Download #PersonalHotspot

Personal Hotspot for Mac OS Download

Just like Personal Hotspot for iPhone 4, Personal Hotspot for Mac OS allows you to share your data connection with your Mac, PC, iPad, or other Wi-Fi-capable device. There is no limit to the number of devices that can share your connection over Wi-Fi. Every connection is password protected and secure.

This software is provided at not cost IF you follow me using link below.

NOTE: Only tested on Mac OS Snow Leopard. Not supported on Mac OS Lion but feel free to try and let me know results at @WLANBook

You can download app by following me @WLANBook using link below.

The first version has basic Internet sharing features but future versions will add below.

  1. Connected clients
  2. Control access point radio power
  3. Control access point channel
  4. Control DHCP scope

See screen shot below of app user interface.

Admin/Account Password – enter administrator account password

Network Name – enter desired SSID

WEP Key – enter WEP key. This is the key/password other devices will use to connect to Personal Hotspot. For non apple devices use either a 5 or 13 character key.

Mac OS X WiFi 802.11 Sniffing / Sniffer

Mac OS X WiFi 802.11 Sniffing / Sniffer

Instructions below on using using Mac OS X with Wireshark as a sniffer.

  1. In a terminal window type below.

    sudo chmod 666 /dev/bpf*

    (your sudo password is your account password)

  2. Select channel to sniff. In command below the -c follow by a # selects the channel and -z disassociates the card.

    sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -z -c 1

    (your sudo password is your account password)

    Typing the above command path can be avoided by creating a symbolic link to the command in /user/sbin/ by copying and pasting below into a terminal window.

    sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/sbin/airport

    This will allow you to simply type “airport” in the terminal window to execute the command.

    Airport utility can also be used as a WiFi Scanner.

  3. Download Wireshark from http://www.wireshark.org/download.html
  4. Install and launch Wireshark
  5. Go to Capture -> Interfaces -> Options in Wireshark. For wireless interface select en1 (in MacBook Air it is en0). In Link-layer Header type, select the ‘802.11 plus radiotap header’.

  6. Click ‘Start’ to capture.
  7. Confirm that Airport is in monitor mode.

Personal Hotspot for Mac OS

Personal Hotspot for Mac OS

Personal Hotspot for Mac OS Download

We will soon be releasing a Personal Hotspot for Mac OS. Hopefully the app will be approved on Mac App Store. The first version has basic Internet sharing features but future versions will add below.

  1. Connected clients
  2. Control access point radio power
  3. Control access point channel
  4. Control DHCP scope

See screen shot below of app user interface.

Root Password – enter administrator account password

Network Name – enter desired SSID

WEP Key – enter WEP key. For non apple devices use either a 5 or 13 character key.

Follow me @WLANBook and get alerted when we give away free promo codes to download app from Mac App Store.

First WiFi Scanner App Approved by Mac App Store

Download latest WiFi Scanner from Mac App Store

First WiFi Scanner App Approved by Mac App Store

First WiFi Scanner approved for the Mac App store!!

WiFi Scanner for Mac OS X is a 802.11 wireless scanner and connection manager for Mac OS X. This will detect access points and clients in ad-hoc mode if the SSID is being broadcasted. It can be used for wireless site surveys, wireless discovery, and to connect to wifi networks. The tool reports signal strength in dBm and shows access point BSSID/MAC addresses.