Есть ли возможность фильтровать tcpdump (в реальном времени или после создания дампа) на основе времени соединения tcp (продолжительность соединения)?tcpdump - как фильтровать на основе времени/продолжительности соединения tcp
Я записываю трафик http json rpc. Я хочу записать только те соединения, длина которых превышает 1000 мс.
В wirehark есть инструмент в меню-> Статистика-> Разговоры (вкладка TCP), и там я могу сортировать по «Продолжительность». Но я хочу записывать (или фильтровать) долгоживущие соединения раньше (не в wirehark).
В командах псевдо я хочу сделать что-то вроде этого:
tcpdump -i eth0 port 80 and connectionTime>1000ms -w data.pcap
или после записи:
cat data.pcap | SOMETOOL -connectionTime>1000ms > dataLongConnections.pcap
SOMETOOL должен экспортировать отфильтрованные данные в формат, который Wireshark поймет. Потому что после фильтрации я хочу проанализировать эти данные в Wireshark.
Как я могу это сделать?
Вы попробовали SplitCap, как было предложено kauppi? Вы не можете фильтровать длительность сеанса с помощью tcpdump, поскольку он не является фильтром с состоянием, SplitCap на первый взгляд, похоже, обеспечивает то, что вам нужно для начала работы. –
Чтобы добавить то, что сказал Том Регнер: 'tcpdump' не отслеживает продолжительность сеанса. Причина, по которой «Wireshark» может показать вам информацию, состоит в том, что сам «Wireshark» отслеживает продолжительность сеанса, а не просто анализирует «tcpdump». –