netutils
index
/home/akkana/bin/netutils.py

netutils: a set of networking utilities for Python.
Copyright 2010 by Akkana Peck <akkana@shallowsky.com>
 ... share and enjoy under the GPLv2 or (at your option) later.
 
Provides classes and functions to allow finding a wireless interface,
querying for accesspoints, or establishing a connection.

 
Modules
       
os
re
shutil
subprocess

 
Classes
       
AccessPoint
Connection
DebianConnection
ManualConnection
NetInterface
Route

 
class AccessPoint
    One Cell or wireless access point from iwlist output
 
  Methods defined here:
__init__(self)
clear(self)
Clear all parameters

 
class Connection
    Make a connection. Subclass this with details of how the
connection will actually be made.
 
  Methods defined here:
__init__(self, iface=None)

 
class DebianConnection(Connection)
    Make a connection on a Debian system, using /etc/network/interfaces
and service network restart (along with other helpers).
 
  Methods defined here:
__init__(self, iface=None)
connect(self, essid)
Connect to a particular essid using /etc/network/interfaces.
Pass essid=None to de-associate the interface from any essid.
reset(self)
Reset everything back to working the way it was before you started

 
class ManualConnection(Connection)
    Make a connection by calling explicit programs like ifconfig,
iwconfig, wpasupplicant, etc. In theory should work on any
Linux machine, but some distros (especially Debian derivatives)
may not work well and may need their own connection type.
 
  Methods defined here:
__init__(self, iface=None)
connect(self, essid)
Connect to a particular essid doing all the steps manually.
Pass essid=None to de-associate the interface from any essid.
reset(self)

 
class NetInterface
    A network interface, like eth1 or wlan0.
 
  Methods defined here:
__init__(self, name)
__repr__(self)
Prettyprint a NetInterface instance
ifconfig_down(self)
Mark the interface DOWN with ifconfig
ifconfig_up(self)
Mark the interface UP with ifconfig

 
class Route
    Network routing table entry: one line from route -n
 
  Methods defined here:
__init__(self, *args)
Route(line)
Route(dest, gateway, iface, mask=None) :
__repr__(self)
Return a string representing the route
add(self)
Add this route to the routing tables.
call_route(self, cmd)
Backend routine to call the system route command.
cmd is either "add" or "delete".
Users should normally call add() or delete() instead.
delete(self)
Remove this route from the routing tables.
init_from_line(self, line)
init from a line from route -n, such as:
192.168.1.0     *               255.255.255.0   U         0 0          0 eth0
default         192.168.1.1     0.0.0.0         UG        0 0          0 wlan0

Static methods defined here:
read_route_table()
Read the system routing table, returning a list of Routes.

 
Functions
       
get_accesspoints()
Return a list of visible wireless accesspoints.
get_first_wireless_interface()
Returns the first available wireless interface
get_interfaces(only_up=False, name=None)
Returns a list of NetInterfaces for all eth*, wlan* or mlan*
interfaces visible from ifconfig.
Omit lo, vpn, ipv6 and other non-physical interfaces.
If only_up is true, use ifconfig instead if ifconfig -a.
If name is specified, return only the first matching that name.
get_wireless_interfaces()
Returns a list of wireless interfaces available.
ifdown_all()
Take all current interfaces down.
kill_by_name(namelist)
Kills all running processes that start with any of the
strings in the given name list.