Ниже приведены примеры использования оригинального tcpdump в среде *nix и аналогичные команды TCPDUMP for Windows (tcpdump.exe) с указанием особенностей синтаксиса при запуске в средах:
- Windows Subsystem for Linux
- CMD.EXE
- PowerShell
В среде Windows Subsystem for Linux рекомендуем использовать TCPDUMP for Windows, так как на данный момент оригинальный tcpdump не работает в WSL. При запуске возникает ошибка: tcpdump: socket: Invalid argument:
user@computer ~ $ date
Mon Jun 11 20:38:07 STD 2018
user@computer ~ $ uname -a
Linux computer 4.4.0-17134-Microsoft #81-Microsoft Sun May 20 01:14:00 PST 2018 x86_64 x86_64 x86_64 GNU/Linux
user@computer ~ $ cat /etc/issue
Ubuntu 16.04.4 LTS \n \l
user@computer ~ $ tcpdump --version
tcpdump version 4.9.2
libpcap version 1.7.4
OpenSSL 1.0.2g 1 Mar 2016
user@computer ~ $ tcpdump -i3
tcpdump: socket: Invalid argument
В средах PowerShell и CMD.EXE вместо tcpdump.exe допустимо использовать имя исполняемого файла без расширения – tcpdump. В среде Windows Subsystem for Linux необходимо использовать полное имя исполняемого файла – tcpdump.exe.
Для объединения части команды в один аргумент в примерах используются двойные кавычки ". В среде CMD.EXE для этой цели можно использовать только их, в средах *nix, PowerShell, Windows Subsystem for Linux также можно использовать одинарные кавычки '.