6. Бърз анализ на трафик, преминал през мрежа

6.1. Задание

Да се създаде инструмент, който допълва работата на tcpdump или WinDump, като взима за входни данни файлове, съдържащи запис на преминал трафик (tcpdump -w), и прави статистика за активността на всеки IP адрес, който е изпращал или получавал пакети през това време. Статистиката да съдържа времето (timestamp) на първия и последния изпратен/получен пакет, както и общия размер на трафика, преминал през всеки IP адрес. В статистиката да бъдат включени IPv4 и IPv6 пакетите, изпратени към или получени от всеки IP адрес, като е желателно да има възможност те да бъдат разделени на входящ и изходящ трафик.

При избора на език за програмиране и използвани библиотеки да се поддържа възможност за компилация на поне 3 различни класа операционни системи.

Note: Инструментът анализира само tcpdump / WinDump savefiles, т.е. файлове, съдържащи информация за получените от tcpdump / WinDump пакети, създадени с помощта на опцията -w на командата tcpdump или WinDump. НЕ се изисква или очаква да бъдат правени опити за анализ на информацията, която tcpdump / WinDump извежда на стандартния изход по време на работата си!

Класове операционни системи

  1. ``стари'' версии на Microsoft® Windows®: Microsoft Windows 95, Microsoft Windows 98, Microsoft Windows ME;

  2. ``истински'' версии на Microsoft Windows: Microsoft Windows NT, Microsoft Windows 2000, Microsoft Windows XP, Microsoft Windows 2003 Server;

  3. ``Unix-like'' операционни системи: SCO Unix®, Sun Solaris®, SGI IRIX®, Linux, FreeBSD, NetBSD, OpenBSD, BSD/386® (също известна като BSDi), HP/UX®, IBM AIX®, Apple MacOS X® и т.н.;

  4. Apple® MacOS® преди MacOS X®;

  5. други: MS-DOS®, CP/M, BeOS, VxWorks и т.н. (за любителите на приключения и/или силни усещания :)