LINUX.ORG.RU
ФорумAdmin

по поводу трафика


0

3

tcpdump-пом сохраняю весь трафик в файл, далее скриптом выбираю информацию из этого файла и считаю весь трафик. Собственно размер пакетов пишется в скобках или после слова length, но необходимо считать и размеры служебных пакетов syn, ack и т.д. Скриптом анализировать информацию о типе пакета и т.д приведёт к сильному усложнению скрипта. С какими опциями надо запустить tcpdump что бы он писал суммарный-полный размер пакета - данные и служебную информацию и что бы писал размер пакетов где размер данных ноль? В мане такой опции не нашёл, интернет то же не помог, может tcpdump и не выводит такую информацию.....

Я понимаю что есть много разных утилит которые считают трафик, но уже есть скрип к которому написано много разных примочек которые придётся настраивать или даже писать наново если использовать другие утилиты для подсчёта трафика.

И второй вопрос.

Работу скрипта проверял утилитой netcat - перебрасывал файлы определённого размера с компьютера на компьютер. На сколько я знаю netcat не сжимает данные при передачи файлов, или я ошибаюсь? При передачи файла размером 1000000 байт и меньше данные были переданы точно, а вот при передачи файла размером 10000000 байт было передано 9921808 Байт данных. Почему не ровно 10000000 байт, может netcat сжимает большие размеры данных? netcat запускался со следующим образом: на передающей стороне

nc -l порт < файл
на принимающей стороне
nc ip порт > файл

★★

Ответ на: комментарий от v4567
man pcap-savefile

уже изучили?

Каким образом вы получаете траффик из сохраненного файла?

hidden_4003
()

нет не сжимает, если хочешь сжимать используй tar

чет ты напутал с nc, все наоборот, почитай для начала ман

CHIPOK ★★★
()

Наверное, вам нужен флаг ″-e″. Но парсить скриптом выхлоп tcpdump'а занятие не очень, у него от версии к версии мало по малу, но изменяется формат.

nc ничего не сжимает, а те протоколы, которые сжимают, как правило, в начале передачи договариваются о формате сжатия, а не включат его по ходу передачи. Ведь nc в вашем случае вобще не знает о размере файла, поэтому то, что он передаёт «большой» файл он узнает не с самого начала, а кому нужно реализовывать в nc согласование сжатия да ещё по ходу передачи?

Либо у вас в скрипте ошибка, либо tcpdump не всё записал в файл.

netcat запускался со следующим образом

Вы там не перепутали ″<″ и ″>″?

mky ★★★★★
()
Последнее исправление: mky (всего исправлений: 1)
Ответ на: комментарий от mky

Либо у вас в скрипте ошибка, либо tcpdump не всё записал в файл.

Проверял несколько раз. Ошибок в скрипте по моему нет. tcpdump то же вроде как должен был записать всё так как кроме передачи файла nc по сети ничего не было и система была не загружена. Но всё время было 9921808 Байт попробую передавать от 1000000 и по порядку 2000000 и т.д. посмотрю тогда на какой передачи будут появляться расхождения.

Вы там не перепутали ″<″ и ″>″?

Да нет вроде не перепутал.

На компьютере с которого хочу передать файл запускаю:

nc -l порт < файл

и командная строка не возвращается пока на компьютере на который необходимо передать файл, не будет запущена команда:

nc ip порт > файл

и не закончится передача файла.

ip это соответственно ip компьютера с которого передаётся файл.

v4567 ★★
() автор топика
Ответ на: комментарий от v4567

Ну так, конечно без разницы, nc в обе стороны данные передаёт, но просто обычно принято, что та сторона, которая слушает порт, она и пишет в файл, а та сторона, которая подключается, передаёт файл.

Для тестирование можете ещё в iptables засунуть правила (для данного порта) и посмотреть по счётчикам iptables сколько пакетов проходит. А потом посмотреть сколько пакетов запишет в файл tcpdump.

mky ★★★★★
()
Ответ на: комментарий от v4567

man 4 bpf если не успели обработать пакет он теряется - никто не считает трафик через bpf, кроме nas уровня общаги

anonymous
()
Ответ на: комментарий от anonymous

сейчас проверил файл размером 10000000 байт и всё нормально, скриптом показало что действительно передано данных было 10000000 байт. Наверное тогда tcpdump пропустил несколько пакетов.

Теперь бы научиться подсчитывать размеры заголовков пакетов.

v4567 ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.