Обнаружение и агрегирование пакетов, отправляемых на сервер по TCP-порту
Есть ли способ с Ubuntu 10.4LTS
обнаружить и агрегировать количество пакетов, переданных по каждому порту?
Другими словами, я хотел бы, чтобы процесс отслеживал количество пакетов, отправленных на каждый порт TCP (независимо от того, установлено соединение), и агрегировал количество пакетов, генерируя вывод, подобный этому:
PORT ATTEMPTS
22: 2535
67: 12424
6135: 1
6136: 1
6137: 1
11211: 244
Не мешало бы, если бы программа отслеживала другую информацию, такую как флаги пакетов (TCP SYN, connect, ACK и т. Д.), В идеале в процентах.
Я не знаю ни одной программы, чтобы сделать этот, казалось бы, довольно простой учет, но я предполагаю, что есть одна. Буду признателен за любую информацию о том, какие программы могут предоставить эту информацию.
Спасибо за чтение.
Брайан
1 ответ
Вы можете использовать Iptables для учета этих. Например:
iptables -A INPUT -p TCP --dport 80 --syn
будет подсчитывать количество входящих SYN-пакетов на порт 80.
Если вы хотите отслеживать подробную статистику за определенный период времени, я бы порекомендовал использовать tcpdump для захвата всего, а затем выполнить несколько проходов по данным с разными фильтрами.
Вы также можете быть заинтересованы в ntop.