ضبط روی یک ماشین راه دور در حالی که خروجی را از همان اتصال تماشا می‌کنید، اندازه‌گیری خودارجاع است و آنچه را اندازه می‌گیرید تحریف می‌کند. هر بسته‌ای که چاپ می‌کنید از همان نشستی که ضبط می‌شود بازمی‌گردد. حذف آن جریان معمولاً درست است، اما اندازه حذف یک تصمیم واقعی است. اگر خیلی باریک باشد، ضبط خودش را غرق می‌کند؛ اگر خیلی گسترده باشد، شواهد ناپدید می‌شوند.

چرا ضبط خودش را ثبت می‌کند

ضبط مسیر بازگشت خروجی خودش را می‌بیند. هر خطی که در ترمینال شما چاپ می‌شود به یک یا چند بسته روی اتصال مدیریت تبدیل می‌شود که فیلتر سپس آن‌ها را تطبیق می‌دهد و دوباره چاپ می‌کند. نتیجه حلقه‌ای است که رشد می‌کند تا وقتی بافر یا پیوند تسلیم شود.

به همین دلیل ضبطی که در یک فایل نوشته می‌شود خوب به نظر می‌رسد و همان ضبط هنگام پخش زنده غیرقابل استفاده می‌شود. ترافیک جدید نیست؛ شما آن را ساخته‌اید. یک ضبط ده ثانیه‌ای می‌تواند خروجی بیشتری از آنچه پیوند می‌تواند حمل کند تولید کند، به‌محض اینکه حلقه شروع شود.

حذف را به‌صورت یک گروه بسازید

از این شروع کنید که میزبان راه دور نشست شما را چگونه می‌بیند، نه از آدرس در ترمینال محلی شما. یک میزبان پرش یا دستگاه 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 را حذف کنید و نویز نشست‌های دیگر را بپذیرید. اگر میزبان به پرسش بی‌ربط است، حذف کامل آن ساده‌تر است و یک کلاس کامل از بسته‌های خودساخته را برمی‌دارد. انتخاب را کنار فایل ضبط بنویسید، چون فیلتر فرضی درباره شواهد است.

انتخاب رابط تعیین می‌کند که اصلاً چه چیزی می‌توانید ببینید. روی تونل ترافیک درونی را می‌بینید؛ روی رابط فیزیکی حمل‌ونقل رمزنگاری‌شده را می‌بینید. اگر بسته‌های مدیریت از قبل در نقطه‌ای که انتخاب کرده‌اید غایب باشند، هیچ حذفی ضبطی را که به لایه اشتباه نشانه رفته است درست نمی‌کند.

مقالات مرتبط