Perl script as a sniffer with built-in statistics
C Clears the GUI
In other words, when the user presses c, the callback in line 46 sends a "clear"
event to interested parties, who used reg_cb()
to register with the TopGUI class object – in this case, the main program in Listing 1. This in turn calls the reset()
method in the TopCapture
module line 12, which causes it to reset the counter. The next timer call with stats()
finds empty entries; the call to the update()
method in line 40 of Listing 1 notifies the TopGUI
module, which in turn cleans up the GUI after the counters have been reset to zero.
When new packet data arrives, Listing 1 only needs to sort the stats data based on the counter state, format it with sprintf()
, and then call update()
in the TopGUI
module.
Anyone hoping that TShark will also grab packets not addressed to the current host on the current subnet should think again, however. Modern switches (in contrast to the hubs from 20 years ago) do not send all packets to all connected interfaces. Packets not addressed to the host on which tshark
is running, therefore, do not physically reach the host.
In a wireless LAN, however, all packets may reach all WiFi cards in the reception area, but these cards can rarely be switched to a mode in which packets addressed to other targets are forwarded to the analyzing host. If TShark is not installed on a router or a host with a special network card, it only shows the outgoing and incoming packets for the TShark host.
Infos
- Listings for this article: ftp://ftp.linux-magazine.com/pub/listings/magazine/180/
« Previous 1 2 3
Buy this article as PDF
(incl. VAT)