Как заставить Wireshark отслеживать конкретный IP в фоновом режиме

У меня установлен Wireshark, и я хочу отслеживать трафик к определенному IP-адресу и с него, поэтому было бы очень полезно, если бы я мог заставить Wireshark запускаться сам по себе при запуске, а затем начинать захват пакетов на eth0, которые либо с, либо на этот конкретный IP-адрес. Тогда было бы также очень полезно автоматически сохранить захваченные пакеты, которые соответствуют этим спецификациям, в каталог, который я бы указал. Я знаю, что такая вещь, или, по крайней мере, что-то похожее, могла бы быть сделана, но я просто не знаю технических подробностей того, как именно я мог бы заставить ее работать, поэтому я действительно спрашиваю об этом здесь.

Даже если бы я не смог запустить его в фоновом режиме при запуске и начать делать это сам по себе без запуска какого-либо графического интерфейса, по крайней мере, чтобы я мог настроить его для фильтрации и автоматического сохранения определенных пакетов, хорошо (даже если мне нужно будет запустить Wireshark вручную).

Обновление информации:

Представленное текущее решение, похоже, не работает, теперь это новое содержимое моего файла /etc/network/interfaces:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
post-up tcpdump -i eth0 host 80.177.214.176 -w '/home/arthur-dent/tcpdumpLog/eth0-%F-%H-%M-%S.bin' -G 600 &

Так вот как это должно выглядеть, требуется перезапуск или какая-либо команда должна быть выполнена?


Информация об ОС:

Description:    Ubuntu 14.10
Release:    14.10

Информация о пакете:

wireshark:
  Installed: 1.12.1+g01b65bf-2~ubuntu14.10.3
  Candidate: 1.12.1+g01b65bf-2~ubuntu14.10.3
  Version table:
 *** 1.12.1+g01b65bf-2~ubuntu14.10.3 0
        500 http://gb.archive.ubuntu.com/ubuntu/ utopic-updates/universe amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ utopic-security/universe amd64 Packages
        100 /var/lib/dpkg/status
     1.12.0+git+4fab41a1-1 0
        500 http://gb.archive.ubuntu.com/ubuntu/ utopic/universe amd64 Packages
0
задан 1 May 2015 в 13:12

1 ответ

Предложение состоит в том, чтобы использовать tcpdump, чтобы сделать получение действительного пакета и сохранение. Можно все еще использовать wireshark для просмотра пакетов подробно позже.

Например (где я использую локальный IP-адрес, только для примера):

sudo tcpdump -i eth0 host 192.168.111.190 -w 'eth0-%F-%H-%M-%S.bin' -G 600

получит весь трафик к/от 192.168.111.190 и сохранит целый пакет в файл. Чтобы предотвратить огромные файлы и сделать более позднее расследование легче, имя файла изменяется каждые 10 минут с именем файла, содержащим дату и время как идентификатор. Пример:

-rw-r--r-- 1 root root      169739 Apr 16 16:11 tcpdump/075/eth0-2015-04-16-16-01-02.bin
-rw-r--r-- 1 root root       60191 Apr 16 16:21 tcpdump/075/eth0-2015-04-16-16-11-02.bin
-rw-r--r-- 1 root root      177895 Apr 16 16:31 tcpdump/075/eth0-2015-04-16-16-21-02.bin
-rw-r--r-- 1 root root      134816 Apr 16 16:41 tcpdump/075/eth0-2015-04-16-16-31-02.bin
-rw-r--r-- 1 root root      660839 Apr 16 16:51 tcpdump/075/eth0-2015-04-16-16-41-02.bin
-rw-r--r-- 1 root root      678867 Apr 16 17:00 tcpdump/075/eth0-2015-04-16-16-51-02.bin

Теперь, скажите, что у меня было интересное /var/log/kern.log запись, которую я хотел исследовать подробно на пакетном уровне. Я открыл бы wireshark и использование file затем open и откройте соответствующий файл на основе метки времени записи в журнале.

С другой стороны, Вы могли использовать -C опция вместо -G поворачивать выходные файлы на основе размера файла вместо ко времени. Дополнительную информацию см. в tcpdump странице справочника.

Теперь, для автоматизации запуска этой команды на начальной загрузке Вы могли добавить его к /etc/rc.local, как упомянуто в комментариях, однако который мог бы быть подвержен состоянию состязания между rc.local и интерфейсом, не произошедшим вовремя, приведя к следующей записи в /var/log/syslog (где это не работало 1 из 3 раз):

Apr 22 12:06:45 desk-ss rc.local[679]: tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
Apr 22 13:30:47 desk-ss rc.local[674]: tcpdump: eth0: That device is not up
Apr 22 13:33:20 desk-ss rc.local[665]: tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes

Поэтому рассмотрите добавление задержки или добавление его как пост дополнение к /etc/network/interfaces файл. Во-первых, метод задержки ниже строки добавляется к /etc/rc.local:

sleep 20; tcpdump -i eth0 host 192.168.111.1 -w '/home/doug/eth0-%F-%H-%M-%S.bin' -G 600 &

Во-вторых, пост метод, вот /etc/network/interfaces файл:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp
post-up tcpdump -i eth0 host 192.168.111.1 -w '/home/doug/eth0-%F-%H-%M-%S.bin' -G 600 &

Для ссылки вот оригинал /etc/network/interfaces файл:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
1
ответ дан 1 May 2015 в 23:12

Другие вопросы по тегам:

Похожие вопросы: