Трябва ли да изключите 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 порта и приемете шума от други сесии. Ако хостът е без значение за въпроса, пълното му изключване е по-просто и премахва цял клас самосъздадени пакети. Запишете избора до файла на записа, защото филтърът е предположение за доказателствата.
Изборът на интерфейс решава какво изобщо можете да видите. В тунела виждате вътрешния трафик; на физическия интерфейс виждате шифрования транспорт. Ако управляващите пакети вече липсват в избраната точка, никакво изключване няма да поправи запис, насочен към грешния слой.