如何在 linux 和 osx 中關閉已建立的網路連接

如何在 linux 和 osx 中關閉已建立的網路連接

我曾經在 Windows 世界中使用名為 TCPView 的工具執行此操作:只需選擇已建立的連線 (ESTABLISHED),然後選擇「關閉連線」。我找不到在 Mac OSX 或 Linux 上實現此目的的方法(我兩者都需要)。我知道的唯一方法是終止打開連接埠的進程。

我的主要用例是模擬連接中斷來測試故障轉移,例如拔掉電纜或丟失路由器或中間件的情況。

答案1

close()您可以使用 gdb 和與連線對應的檔案描述符附加到您的進程。您可以使用 找出檔案描述符編號lsof -a -i4 -p $PID

答案2

  • tcpkill -i eth0 { expression }
    (基本命令/選項)

  • tcpkill -i eth0 port 21
    (終止所有傳出 ftp(連接埠 21)連線)

  • tcpkill host 192.168.1.2

    tcpkill host hostname.domainname.com
    (殺死所有到達或離開主機 192.168.1.2 的所有資料包)

  • tcpkill ip host 192.168.1.2 and not 192.168.1.111
    (殺死 192.168.1.2 和除 192.168.1.111 之外的任何主機之間的所有 IP 封包)

相關內容