Wireshark-dev: [Wireshark-dev] Wireshark and real-time network issue detection?

From: Lars Ruoff <Lars.Ruoff@xxxxxxxxxx>
Date: Mon, 30 Oct 2006 15:03:17 +0100
Hi list,

I wonder if Wireshark could be extended to provide real-time network issue detection and if there was any interest in the community to implement this feature.

Let me explain.
What i would like to have is the following:
Wireshark (tshark to be precise) would be run from another application (let's call it the Monitor application). There would be a form of interprocess communication between Wireshark and the latter. Wireshark would capture packets, decode them and run certain analysis modules (console style "tap-listeners", as can be activated via the -z option). The analysis modules would be designed to detect alarm conditions that correspond to a certain network troubleshooting issue, for example, think of a module that monitors RTP voice conversations and reports whenever there is consecutive packet loss exceeding some threshold. Whenever an alarm condition is met, Wireshark would notify the Monitor application, and the latter would save the coresponding capture files. Wireshark would be run in multiple files option, but the Monitor would erase every written file after a while if no alarm condition has been met during that time. Only the capture files containing alarm conditions would be saved. The goal is to have the whole thing running over several days/weeks without filling up the HDD with unnecessary files.

In fact i already have implemented an application that does just that!
It was back on Ethereal 0.10.3 and i had to modify Ethereal in a few ways:
- Include a form of interprocess communication with the calling Monitor.
(was done using Windows IPC, certainly not a good choice, but it was the fastest possible way for me to do), including an ABI for the monitoring taps to use it.
- Make Ethereal report whenever it switched to a new capture file.
(- Mayeb other things i don't remember any more)

Problems i had to cope with:
- Ethereal was leaking memory which caused problems when running for several days. My workaround was to have Monitor relaunch Ethereal every now and then.

Obviously, keeping up with Wireshark's release frequency is difficult for me. That is why i'm asking wether there would be interest in redesigning, adding and maintaining the Wireshark related part to the Wireshark source tree?

best regards,
Lars Ruoff