Чи варто виключати потік SSH із віддаленого запису?
Віддалений запис фіксує з'єднання, яке переносить його власний вивід. Вирішіть, скільки виключити, і ніколи не об'єднуйте дві негативні перевірки хоста через or.
Запис на віддаленій машині, коли ви спостерігаєте за виводом через те саме з'єднання, — це самореферентне вимірювання, і воно спотворює те, що ви вимірюєте. Кожен надрукований пакет повертається через сеанс, який записується. Виключити цей потік зазвичай правильно, але розмір виключення — справжнє рішення. Занадто вузько — і запис захлинається сам собою; занадто широко — і докази зникають.
Чому запис записує сам себе
Запис бачить зворотний шлях власного виводу. Кожен рядок, надрукований у вашому терміналі, стає одним або кількома пакетами на керуючому з'єднанні, які фільтр потім зіставляє і друкує знову. Результат — петля, яка зростає, доки буфер або канал не здадуться.
Тому запис у файл виглядає нормально, а той самий запис у прямому ефірі стає непридатним. Трафік не новий; ви його створили. Десятисекундний запис може дати більше виводу, ніж канал здатен перенести, щойно почнеться петля.
Зберіть виключення як одну групу
Почніть із того, як віддалений хост бачить ваш сеанс, а не з адреси у вашому локальному терміналі. Проміжний хост або пристрій NAT можуть зробити протилежну сторону чимось, що ви ніколи не вводили, тому читайте адресу з погляду самої віддаленої сторони. Потім згрупуйте хост і порт разом, щоб заперечення застосовувалося до пари.
tcpdump -ni eth0 '(net 10.60.0.0/24) and not (host 203.0.113.77 and tcp port 2222)'Узяття всього виразу в лапки не дає оболонці читати дужки як синтаксис. Надрукуйте фільтр ще раз, перш ніж довіряти результату.
Фільтр, який виглядає правильно і зберігає все
Неправильний фільтр — той, що читається природно: джерело не протилежна сторона або призначення не протилежна сторона. Для пакета з вашої робочої станції перша перевірка істинна; для відповіді — друга. Їхнє об'єднання через or зберігає обидва напрямки, а це саме те, що ви хотіли відкинути.
Логіка фільтра pcap дає and і or однаковий пріоритет і обчислює зліва направо, тому дужки не є необов'язковими, коли ви їх змішуєте. Заперечуйте один згрупований вираз замість об'єднання двох заперечень. Ця єдина зміна відокремлює робочий фільтр від запису, повного вашого власного набору. довідка з фільтра pcap достатньо коротка, щоб прочитати її в терміналі, і її варто перевірити, коли фільтр поводиться несподівано.
Вирішуйте за тим, що запис має довести
Вирішіть, скільки виключити, запитавши, що запис має довести. Якщо вам потрібно бачити трафік застосунків до того самого хоста, виключіть лише порт SSH і прийміть шум інших сеансів. Якщо хост не стосується питання, повністю виключити його простіше, і це прибирає цілий клас самосотворених пакетів. Запишіть вибір поруч із файлом запису, бо фільтр — це припущення про докази.
Вибір інтерфейсу вирішує, що ви взагалі можете побачити. У тунелі ви бачите внутрішній трафік; на фізичному інтерфейсі — зашифрований транспорт. Якщо керуючі пакети вже відсутні в обраній точці, жодне виключення не виправить запис, націлений не на той рівень.