Package TOOLS provides some Unix programs mostly used for administration and debugging. Other ones like wget are used i.e. for catching the first (ad-)page of some providers. By setting the value 'yes' the mentioned program is copied to the fli4l router. Default setting is 'no'. The programs are only described in short, how to use them is described in their repective man pages which can be found in your favourite linux distribution or online at: http://www.linuxmanpages.com
bmon is a monitoring and debugging tool to capture networking related statistics and prepare them visually in a human friendly way. It features various output methods including an interactive curses user interface and a programmable text output for scripting.
The program curl allows the transfer of data to or from a server running a number of supported protocols. These include, amongst others, FTP, HTTP(S), SCP, SFTP, and TFTP.
The program also provides support for user authentication, data transfer via proxy, FTP upload, HTTP POST requests, SSL connections, cookies, resumption of interrupted file transfers and more.
Important: In order to establish TLS connections, the Mozilla X.509 root
certificates should be installed by setting CERT_X509_MOZILLA='yes'
in the CERT package.
The command dig allows to execute various DNS queries.
The ftp program can connect fli4l to a FTP server to move files between the two of them.
The setting FTP_PF_ENABLE_ACTIVE='yes'
adds a rule to the packet filter
that enables initiated active FTP.
For FTP_PF_ENABLE_ACTIVE='no'
such a rule has to be added to the
PF_OUTPUT_%-array manually (if needed), for an example look
here.
Passive FTP is always possible, neither this variable nor an explicit packet filter rule is needed then.
The iftop program lists all active network connections and their throughput directly on the fli4l router.
After login to the router iftop is simply started by executing it on the console.
This program is a text based frontend for the router to control imond.
The command iperf can do performance measuring for networks. The program has to be started on the two machines involved. On the iperf server execute
to start. The server will wait for a connection from an iperf client then. Start the client on the second machine with
A performance check will start immedeately showing first results. Some options
can be added to iperf, for details evaluate the informations on its homepage
http://iperf.sourceforge.net/.
This OPT installs lnstat, a tool for processing informations from /proc/net/stat. The name stands for “Linux Network Statistics”.
Examples from lnstat's manual:
Just like “iperf” the program “netio” can do network performance tests.
The program has to be started on both systems taking part in the test, one
acting as the server, one as the client side.
On the server side the program has to be started via
netio -s -t
(for data transfer via TCP) resp. netio -s -u
(for data transfer via UDP). Via netio <server> -t
resp. netio <server> -u
the “netio” client process is started on the client side, contacting the server side
and starting the performance measurement.
By the help of nmap operating systems can be tested for open ports. In addition the program provides further information, e.g. about MAC addresses or the operating system used.
The program NTTCP can check network speed. On one side a server is started and on the other side the client.
Start the server by executing nttcp -i -v. The server will wait for client requests. To test i.e. speed execute nttcp -t <IP Adress of the server> on the client.
This is how a started nttcp server looks like:
This is how a test with a nttcp client looks like:
The nttcp help shows all further parameters:
Usage: nttcp [local options] host [remote options] local/remote options are: -t transmit data (default for local side) -r receive data -l# length of bufs written to network (default 4k) -m use IP/multicasting for transmit (enforces -t -u) -n# number of source bufs written to network (default 2048) -u use UDP instead of TCP -g#us gap in micro seconds between UDP packets (default 0s) -d set SO_DEBUG in sockopt -D don't buffer TCP writes (sets TCP_NODELAY socket option) -w# set the send buffer space to #kilobytes, which is dependent on the system - default is 16k -T print title line (default no) -f give own format of what and how to print -c compares each received buffer with expected value -s force stream pattern for UDP transmission -S give another initialisation for pattern generator -p# specify another service port -i behave as if started via inetd -R# calculate the getpid()/s rate from # getpid() calls -v more verbose output -V print version number and exit -? print this help -N remote number (internal use only) default format is: %9b%8.2rt%8.2ct%12.4rbr%12.4cbr%8c%10.2rcr%10.1ccr
The program “socat” is more or less an enhanced version of the “netcat” program with more functionality. By using “socat” you may not only establish or accept various types of network connections, but also sent data to or read data from UNIX sockets, devices, FIFOs, and so on. In addition sources and destinations of different types may be connected: An example would be a Network server listening on a TCP port and then writing received data to a local FIFO or reading data from the FIFO and then transmitting it over the network to a client. See http://www.dest-unreach.org/socat/doc/socat.html for more information and application examples.
The program tcpdump can watch, interpret and record network traffic. Find more on this by feeding Google with tcpdump man
tcpdump <parameter>
The program tracepath is used to determine the so-called “Path MTU”. This is defined as the maximum usable packet size for the path used from the fli4l router to the destination host. Larger packets must either be fragmented (IPv4) or discarded (IPv6). Typically, the Linux kernel cares for the determination of the correct Path MTU (“ Path MTU Discovery ”). Occasionally, however, it is useful to find out this Path MTU to diagnose problems in the network.
An example for IPv4:
An example for IPv6:
The program “dhcpdump” can be used to analyse DHCP packets more accurately. It is based on tcpdump and produces easily readable output.
Usage:
dhcpdump -i interface [-h regular-expression]
The program can be executed using the following command:
dhcpdump -i eth0
If desired, the analysis can be cut down to a specific MAC address using regular expressions. The command would be:
dhcpdump -i eth0 -h ^00:a1:c4
The output could look like this:
TIME: 15:45:02.084272 IP: 0.0.0.0.68 (0:c0:4f:82:ac:7f) > 255.255.255.255.67 (ff:ff:ff:ff:ff:ff) OP: 1 (BOOTPREQUEST) HTYPE: 1 (Ethernet) HLEN: 6 HOPS: 0 XID: 28f61b03 SECS: 0 FLAGS: 0 CIADDR: 0.0.0.0 YIADDR: 0.0.0.0 SIADDR: 0.0.0.0 GIADDR: 0.0.0.0 CHADDR: 00:c0:4f:82:ac:7f:00:00:00:00:00:00:00:00:00:00 SNAME: . FNAME: . OPTION: 53 ( 1) DHCP message type 3 (DHCPREQUEST) OPTION: 54 ( 4) Server identifier 130.139.64.101 OPTION: 50 ( 4) Request IP address 130.139.64.143 OPTION: 55 ( 7) Parameter Request List 1 (Subnet mask) 3 (Routers) 58 (T1) 59 (T2)
The program wget can fetch data from web servers in batch mode.
More useful is (and that is why wget is included here) that it can
catch redirections to your provider's own webserver while
establishig a connection to the internet in a simple way i.e.
for Freenet. A (german) Mini-HowTo on this topic can be found here:
http://www.fli4l.de/hilfe/howtos/einsteiger/wget-und-freenet/
Important: In order to establish TLS connections, the Mozilla X.509 root
certificates should be installed by setting CERT_X509_MOZILLA='yes'
in the CERT package.
Often you do not know exactly what hardware is in your own computer or which driver you should use for i.e. your network card or the USB chipset. The hardware itself can help here. It provides a list of devices in the computer and the associated driver if possible. You can choose whether the recognition is done at boot (which is recommended before the first installation) or later when the computer is running, comfortably triggered from the Web interface. The output might look like this:
In essential 3 network cards are in this machine, driven by 'via_rhine' and an Atheros-WiFi card driven by madwifi (the driver name is not resoved correctly here).
Needed e.g. to reprogram the regulatory domain on ath9k cards (see http://blog.asiantuntijakaveri.fi/2014/08/one-of-my-atheros-ar9280-minipcie-cards.html).
This tool can extract detailed information about the hardware used in Atheros wireless cards, e.g. ath5k. These include, amongst others, the chipset used or calibration information.
This tool may provide a new BIOS or a new Firmware for example for PC Engines mainboards. Details can be found at http://www.flashrom.org.
E3 is a very small editor written in Assembler. It mimics various editor modes known from other („full size”) editors. To choose a mode e3 only has to be started with the right command. A short key overview is given by e3 starting without parameter or by pressing Alt+H (except in VI-mode, press „:h” in CMD mode then). Caret (ˆ ) stands for the Ctrl-/Strg key.
Command | Mode |
e3 / e3ws | WordStar, JOE |
e3vi | VI, VIM |
e3em | Emacs |
e3pi | Pico |
e3ne | NEdit |
Exact syntax of the commands can be found in the mtools documentation:
http://www.gnu.org/software/mtools/manual/mtools.html
Installs the program shred on the router which is used for secure erasing of block devices.
Installs the File Manager Ytree on the router.
The tool openssl can i.e. be used to test crypto accelerator devices.
By using the program strace you can trace system calls and signals or watch function calls and runtime behavior of a program.
strace <program>
Tests all possible WPS PINS to find the WPA password. For details on usage
see:
http://code.google.com/p/reaver-wps/.