tcpdump

tcpdump
вивід tcpdump на консоль
ТипСніфер
РозробникThe Tcpdump team
Стабільний випуск3.9.8 (25 вересня 2007)
Операційна системаGNU/Linux, Solaris, FreeBSD, NetBSD, OpenBSD, Mac OS X, Windows
Мова програмуванняC[1]
ЛіцензіяЛіцензія BSD
Онлайн-документаціяtcpdump.org/manpages/tcpdump.1.html(англ.)
Репозиторійgithub.com/the-tcpdump-group/tcpdump
Вебсайтtcpdump.org

tcpdump (від TCP і англ. dump — звалище, скидати) — сніфер, утиліта UNIX, що дозволяє захоплювати і аналізувати мережний трафік, що проходить через комп'ютер, на якому запущена ця програма.

Основні призначення tcpdump:

  • Налагодження мережевих програм
  • Налагодження мережі і мережної конфігурації в цілому

Програмна реалізація

[ред. | ред. код]

Програма складається з двох основних частин: частини захоплення пакетів (звернення до бібліотеки, libcap (Linux) або pcap (Windows)) і частини відображення захоплених пакетів (яка на рівні вихідного коду є модульною і для підтримки нового протоколу досить додати новий модуль).

Частина захоплення пакетів (при запуску) передає "вираз вибору пакетів" (що йде після всіх параметрів командного рядка) безпосередньо бібліотеці захоплення пакетів, яка перевіряє правильність синтаксису виразу, компілює його (у внутрішній формат даних), а потім копіює у внутрішній буфер програми мережні пакети, які проходять через вибраний мережевий інтерфейс і задовольняють умовам у виразі.

Частина відображення пакетів по черзі вибирає захоплені пакети з внутрішнього буфера, і виводить їх на стандартний вивід в форматі зрозумілому людині, згідно із заданим рівнем детальності.

Якщо задано докладний вивід пакетів, програма перевіряє для кожного мережевого пакету, чи є у неї модуль розшифровки даних, і, у разі наявності, відповідною підпрограмою витягує (і відображає) тип та інші параметри пакету в протоколі.

Кросплатформеність

[ред. | ред. код]

Спочатку програма tcpdump була розроблена для UNIX-подібних систем, пізніше - портована на інші системи.

Для Windows відомі:

  • "Tcpdump для Windows", комерційна реалізація, у вигляді одного файлу tcpdump.exe[2]
  • "WinDump", реалізація з відкритим кодом, потребує встановлення бібліотеки WinPcap (вільне ПЗ)[3].

Посилання

[ред. | ред. код]

Зноски

[ред. | ред. код]
  1. The tcpdump Open Source Project on Open Hub: Languages Page — 2006.
  2. Архівована копія. Архів оригіналу за 18 листопада 2016. Процитовано 18 листопада 2016.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  3. Архівована копія. Архів оригіналу за 8 жовтня 2011. Процитовано 18 листопада 2016.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)