PEAR is archived and read-only

This mirror preserves historical PEAR package releases and metadata so existing references remain available.

Home » Networking » Net_Wifi » Manual

Scans for wireless networks

Setup

Setup – Making it work

Setup - Making it work

Net_Wifi uses the command line tools iwconfig and iwlist to gather information about local wireless network interfaces, and to give information about wireless networks reachable by your computer.

To work with the class, you need to make sure that both programs are found. By default, /sbin/ and /usr/sbin/ are looked up to find them when the class is instantiated. If that fails, the system's which tool is used to determine the location.

You can retrieve and set their locations with getPathIwconfig() and setPathIwconfig(), as well as getPathIwlist() and setPathIwlist().

Local info

Local info – Current interface configuration

Getting local interface configuration

At first, you can get a list of network interfaces on your computer via getSupportedInterfaces(). It returns an array of strings that are the names of the network interfaces, e.g. "eth1" or "wlan0".

The full information about the state of a network interface can be retrieved with getCurrentConfig(). It returns a Net_Wifi_Config object. To just check if an interface is connected, use the isConnected() method also takes the interface name as only parameter.

A Net_Wifi_Config looks like this:


Net_Wifi_Config {
  activated     => bool(true)
  associated    => bool(true)
  ap            => string(17) "00:03:C9:44:34:2C"
  ssid          => string(4) "free"
  mode          => string(7) "managed"
  nick          => NULL
  rate          => string(2) "54"
  power         => string(2) "20"
  protocol      => string(12) "IEEE 802.11g"
  rssi          => string(3) "-37"
}

Scanning

Scanning – Finding wireless networks

Finding wireless networks

To scan for available wireless networks in your environment, use the scan() method. It takes the network interface name as only parameter and returns an array of Net_Wifi_Cell objects.

You get an array of local wireless interfaces via the getSupportedInterfaces() method.

A cell object looks like this:


Net_Wifi_Cell {
  cell      => string(2) "01"
  mac       => string(17) "00:03:C9:44:34:2C"
  ssid      => string(8) "<hidden>"
  mode      => string(6) "master"
  channel   => int(1)
  encryption=> bool(false)
  frequency => NULL
  protocol  => string(13) "IEEE 802.11bg"
  rate      => float(54)
  rates     => array(12) {
    0   => float(1)
    1   => float(2)
    2   => float(5.5)
    3   => float(6)
  }
  rssi      => string(3) "-39"
  beacon    => int(336)
  quality   => string(6) "90/100"
}