Если у Вас есть корень, Вы могли бы просто использовать tcpdump
и захватите все. Можно затем потянуть его в Wireshark и проанализировать к содержанию основы.
$ sudo tcpdump -i -w mycapture.tcpdump
... и затем ctrl-c хита, когда у Вас было достаточно. Выполненный в a screen
сессия, если необходимо отсоединиться и т.д.
По умолчанию это только получит первую часть каждого пакета, но так как Вы главным образом интересуетесь анализом источника, который должен быть прекрасным. Тонны других опций к tcpdump, если Вы чувствуете себя предприимчивыми.
Править: На самом деле, когда-то загруженный в Wireshark, можно просто использовать пункт меню Statistics | IP-адреса... и получить хорошую сводку трафика количеством/уровнем/процентом:
sed -n -e '/^BEGIN$/,/^END$/{/^BEGIN$/d;/^END$/d;p;}' input
С GNU sed
3.95 или выше, можно сделать:
sed '/^BEGIN$/,/^END$/!d;//d'
С другим sed
s, Вам, вероятно, придется записать это:
sed '/^BEGIN$/,/^END$/!d;//d;/^BEGIN$/d'
Или даже
sed '/^BEGIN$/,/^END$/!d;/^END$/d;/^BEGIN$/d'
как с busybox sed
.
См. также sed FAQ
sed '/^BEGIN$/,/^END$/!d;//d'
результаты ни в каком выводе (sed-версия 4.2.1 GNU)
– Hauke Laging
07.06.2013, 00:31
-n
предотвращенный вывод... Я проверил файл с od
(никакой CRS). Но самое очевидное...
– Hauke Laging
07.06.2013, 01:21
Если Вы не хотите повторять разделители, Вы могли бы использовать Perl:
perl -ne '/BEGIN/ && do {$a=1; next}; $a=0 if /END/; print if $a' input
Вы могли также изменить ответ HaukeLaging для использования переменных:
b="BEGIN"; e="END"; sed -n -e "/^$b$/,/^$e$/{/^$b$/d;/^$e$/d;p}" input
Кроме того, вы можете включить разделителиsed -ne "/BEGIN/,/END/{p;}" $INPUT
sed -n -e '/^BEGIN$/,/^END$/{//!p}' input
– potong 10.06.2013, 23:41