Анализ дампов ревизора

Skip to end of metadata
Go to start of metadata
Вы просматриваете старую версию данной страницы. Смотрите текущую версию. Сравнить с текущим  |   просмотр истории страницы

Сперва переходим в директорию с дампами.

cd /var/revisor_dumps/

Отсеять взаимодействия с определённым IP адресом:

# не используем xargs из-за подстановки в -w $f
find -type f | while read f; do 
  tcpdump -r $f tcp and host 104.27.163.7 -w /home/carbon/dumps/${f//[\.\/]/_}
done

Собрать все дампы в текущей директории в один файл:

mergecap -w /home/carbon/one_big.pcap $(find . -type f)

Удалить всё кроме уже смерженных (duplex.pcap):

find -type f -name "re*.pcap" -delete

Набросок скрипта для анализа дампов по определённому IP:


#!/bin/bash

set -eu

IP="$1"
OUTPUT="/home/carbon/dumps/"
INPUT=/var/revisor_dump
rm -f $OUTPUT/*
cd "$INPUT"

find -type f | while read f; do
	tcpdump -r $f tcp and host "$1" -w $OUTPUT/${f//[\.\/]/_}
done

mergecap -w "${OUTPUT%/*}"/$IP.pcap $(find $OUTPUT -type f)
echo "${OUTPUT%/*}"/$IP.pcap ready

Как выглядит потеря?

Запускаем:

tcpdump -ttttnnr $IP.dump tcp port 80 and host $IP

если глазами находим последовательность пакетов:

revisor -> host [S]
revisor -> host [.]
revisor -> host [.]
...

вместо

revisor -> host [S]
revisor -> host [.]
revisor -> host [P]
host -> revisor [P.]
host -> revisor [R]
...

Скорее всего имеет место потеря пакета с GET запросом.

При анализе этого дампа tshark можно будет найти пометку:

[SEQ/ACK analysis]
[TCP Analysis Flags]
[A segment before this frame wasn't captured]
[Expert Info (Warn/Sequence): Previous segment not captured (common at capture start)]
[Message: Previous segment not captured (common at capture start)]
[Severity level: Warn]
[Group: Sequence]
Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.