Networking

連接顯示在 tcpdump 中,但不能不在 auditd 或 ss 中

  • June 27, 2019

tcpdump在一個節點上執行,我可以在特定埠 (8086) 上看到到特定主機(在我的網路內)的許多出站 TCP 連接。我想知道是哪個程序建立了這些聯繫。

我用了:

while true; do ss -ntap '{ dport :8086 }'; sleep 0.1; done

但是,即使 tcpdump 擷取到該埠的傳出請求,我也看不到任何顯示。

我嘗試使用 auditd 在核心級別擷取它們,因為我認為ss可能無法擷取這些請求。

我使用:auditctl -A exit,always -F arch=x86_64 -S connect -S sendmsg -S sendto -k send並且曾經ausearch -k send -i查找這些請求,但同樣無濟於事。

我想知道如何在沒有被 auditd 擷取的情況下與外部主機建立 TCP 連接?

提前致謝!

  1. 原來的目的地址和目的埠可以是 other,not tcp/8086,但是用DNATiptables 規則nat/OUTPUT把它改寫成其它地址和其它埠。在tcpdump擷取中,您會看到 iptables 轉換後的數據包。
  2. 它可以是核心模組,而不是使用者空間應用程序。在這種情況下,我不確定,什麼auditd可以顯示任何東西。
  3. 當在應用程序中建構數據包時,它也可以是原始套接字。ss --raw我認為在這種情況下,您可以使用命令列出原始套接字。
  4. 它可以是其他網路命名空間,而不是主命名空間。
  5. 此流量可以轉發,而不是本地發起的。在這種情況下ssauditd什麼也不顯示。

引用自:https://serverfault.com/questions/972999