خدمات گوش دادن در IPv6 و IPv4 (یا شاید نه؟)

خدمات گوش دادن در IPv6 و IPv4 (یا شاید نه؟)

روز دیگر می خواستم بررسی کنم آیا سرویسی که روی سرور لینوکس من اجرا می شود از IPv6 و همچنین IPv4 گوش می دهد یا خیر. معلوم شد که پاسخ دادن به آن آسان نبود – در کل.

کدام پورت ها در حالت گوش دادن هستند؟ -> برای این سوال من استفاده کردم
netstat -tulpen برای چند سال اکنون. معلوم شد که netstat نوعی منسوخ است و من باید برای این کار از
ss استفاده کنم. گزینه های مشابه:
ss -tulpen :

  • t: TCP
  • u: UDP
  • l: گوش دادن
  • p: روند مربوطه را نشان دهید
  • e: توسعه یافته (مهم ، به زیر مراجعه کنید) [19659010] n: عددی ، یعنی: حل نشدن آدرسهای IP (سوابق DNS PTR) و نه نام سرویس ها ("22" به جای "ssh")

بنابراین ، اکنون چه معامله ای وجود دارد؟

در حالی که برخی فرایندها / خدمات انجام می شوند باز کردن یک سوکت IPv6 و یک سوکت IPv4 مستقل ، برخی دیگر در حال باز کردن یک سوکت تنها به عنوان IPv6 هستند ، در حالی که در هر دو پروتکل اینترنت گوش می دهند.

در مورد من ، من سعی می کردم برای بررسی اینکه آیا syslog-ng به هر دو IP گوش می دهد یا نه. من قبلاً می دانستم که daemon SSH من هر دو پروتکل را گوش می دهد. بنابراین این خروجی بود (متأسفم ، شما باید به صورت افقی پیمایش کنید):

-> در اولین نگاه ، به نظر می رسد ssh برای IPv4 و IPv6 در حال اجرا است ، در حالی که syslog-ng در اینجا فقط یک خط نشان می دهد . در حقیقت ، از طریق پروتکل های اینترنتی نیز گوش فرا می دهد. به "v6only: 0" در انتها توجه کنید که نشان می دهد این سوکت همچنین قادر به IPv4 است. خط IPv6 از ssh در انتها "v6only: 1" را می خواند. (این همان چیزی است که
-e گزینه همه چیز است.)

درصورتی که از netstat استفاده می کنید ، این خروجی در آنجا است. این "tcp6" را برای syslog-ng نشان می دهد که حتی نادرست تر است زیرا "فقط v6" را به ذهن من می رساند:

[194590044] حتی عجیب تر است ] هنگام لیست کردن سرویس های IPv4 فقط ، زیرا خط "v6only: 0" را نشان نمی دهد ، بنابراین از daemon syslog-ng به طور کامل حذف می شود ، در حالی که در IPv4 گوش می دهد:

کاربر توییتر Flüpke داد توضیح زیر : "سوکت هایی که به in6addr_any در لینوکس متصل هستند ، اگر sockopt IPV6_V6ONLY تنظیم نشده باشد ، ترافیک نگاشته شده IPv4 را دریافت می کنند". اوه ، خوب.

توجه داشته باشید که این یک "مشکل" خاص syslog-ng نیست ، بلکه یک رویکرد کلی در مورد نحوه باز کردن سوکت ها است. چند سال پیش با ntopng رفتار مشابهی داشتم.

ضمناً: از آنجا که واقعاً مطمئن نبودم که درگاه ها باز هستند یا نه ، از Nmap از دستگاهی در همان زیر لایه لایه 3 برای بررسی پروتکل های اینترنت استفاده کردم:

برای اضافه كردن این مطلب

من می خواستم syslog-ng برای گوش دادن به UDP و TCP در هر دو پروتكل اینترنت. با استفاده از این عبارت منبع: