成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一招搞定TCP孤兒連接引起的端口占用!

開發 架構
以 redis 做實現吧,client 172.24.213.40, server 172.24.213.39. 在 client 端開啟兩個 session, 分別連接 server 和 tcpdump。

[[440007]]

周六群里大佬發了一篇文章,是關于TCP keepalive相關的,其中有一段是關于孤兒連接的,這里引用下

什么是孤兒連接?

以 redis 做實現吧,client 172.24.213.40, server 172.24.213.39. 在 client 端開啟兩個 session, 分別連接 server 和 tcpdump

會看到 client 每隔 15s 會發送空的 ACK 包給 server, 并收到 server 返回的 ACK, 實際上這就是 client 端的 tcp keepalive 在起作用。然后我們在 server 設置 iptables, 人為制造網絡隔離

  1. root@myali:~# iptables -I INPUT -s 172.24.213.40 -j DROP;iptables -I OUTPUT -d 172.24.213.40 -j DROP;iptables -nvL 

過一會查看 client tcpdump 輸出

  1. 14:05:14.563481 IP 172.24.213.40.38470 > 172.24.213.39.6380: Flags [.], ack 11469, win 559, options [nop,nop,TS val 3222339035 ecr 1210531111], length 0 
  2. 14:05:19.683482 IP 172.24.213.40.38470 > 172.24.213.39.6380: Flags [.], ack 11469, win 559, options [nop,nop,TS val 3222344155 ecr 1210531111], length 0 
  3. 14:05:24.803489 IP 172.24.213.40.38470 > 172.24.213.39.6380: Flags [.], ack 11469, win 559, options [nop,nop,TS val 3222349275 ecr 1210531111], length 0 
  4. 14:05:29.923486 IP 172.24.213.40.38470 > 172.24.213.39.6380: Flags [R.], seq 18, ack 11469, win 559, options [nop,nop,TS val 3222354394 ecr 1210531111], length 0 

client 172.24.213.40 每 5s 發送一個 ACK 三次,最后發一個 RST 包銷毀連接。當然這個 RST redis-server 肯定也沒有接收到。過一會將 server 防火墻刪除

  1. root@myali:~# iptables -D INPUT -s 172.24.213.40 -j DROP;iptables -D OUTPUT -d 172.24.213.40 -j DROP;iptables -nvL 

此時再分別查看網絡連接 ss -a | grep 6380, 會發現 client 端消失了,但是 server 端的還在,狀態仍然是 ESTAB

  1. root@myali:~# ss -a | grep 6380 
  2. tcp   ESTAB    0      0   172.24.213.39:6380   172.24.213.40:38470 

這就是孤兒連接

孤兒連接會造成什么問題?

這種孤兒連接,首先會占用資源,然后如果你想處理,不管你通過什么方法,比如lsof查看占用該端口的進程,會發現,無法定位進程號,因為進程已經退出了,它不是進程層面的連接

還有一種運維常見的場景

此時如果你想啟動相同端口的應用,或者進程,還會發現端口已被占用,無法啟動,停止進程,會發現該TCP連接不屬于進程管理,無法停止

這個時候怎么做?介紹一款專門針對這種TCP連接的工具

Killcx

Killcx is a Perl script to close a TCP connection under Linux, whatever its state is (half-open, established, waiting or closing state).

這是官方的解釋,Killcx就是專門用來關閉Linux下TCP連接的,不管連接狀態是什么,半開、連接中、等待或關閉狀態

killcx的原理是要關閉的網絡連接,從TCP包中提取Acknowlegment和Sequence numbers,熟悉TCP四次揮手,結合上面孤兒連接造成的原因,你就能明白,其實就是client或者server端沒有收到SYN和ACK確認包,killcx就是通過偽造這兩個包,來完成最后沒完成的TCP交互

killcx使用方法如下:

  1. - syntax   : killcx [dest_ip:dest_port] {interface} 
  2.  
  3.   dest_ip              : remote IP 
  4.   dest_port            : remote port 
  5.   interface (optional) : network interface (eth0, lo etc). 
  6.  
  7. - example  : killcx 120.121.122.123:1234 
  8.              killcx 120.121.122.123:1234 eth0 

Killcx安裝

killcx的安裝包,可以直接從sourceforge下載,下載地址http://sourceforge.net/projects/killcx/files/

下載完成后,并不能直接執行,killcx官網介紹了它的依賴

  1. Perl modules needed : 
  2.  
  3. You need the following modules to run killcx : 
  4.  
  5. * Net::RawIP : needed to create spoofed packets. 
  6. * Net::Pcap : needed to capture TCP packets. 
  7. * NetPacket::Ethernet : needed to decode TCP/IP packets. 

因為Killcx是perl腳本,它運行依賴三個Perl模塊,分別是Net::RawIp、Net::PCAP、NetPacket::Ethernet,這幾個模塊的安裝很簡單

  1. # 通過yum先安裝perl-CPAN 
  2. yum -y install perl-CPAN 
  3. # 利用CPAN安裝三個模塊 
  4. perl -MCPAN -e shell 
  5. cpan> install Net::RawIP 
  6. cpan> install Net::Pcap 
  7. cpan> install NetPacket::Ethernet 

本文轉載自微信公眾號「運維研習社」,可以通過以下二維碼關注。轉載本文請聯系運維研習社公眾號。

 

責任編輯:武曉燕 來源: 運維研習社
相關推薦

2022-09-06 11:53:00

開發計算

2020-12-31 13:17:57

手機電腦多屏協同

2010-03-16 08:59:45

Windows 7純凈版安裝

2015-08-03 14:02:37

Windows 10升級

2021-03-06 09:54:22

PythonHTTP請求頭

2020-10-20 08:01:30

MySQL密碼Windows

2023-12-18 08:24:09

LinuxPythonWord

2022-01-25 13:00:52

前端設計優化

2021-08-21 23:33:16

iOS蘋果系統

2025-04-18 09:49:48

2013-07-30 11:24:33

SAP“簡化IT 一招

2018-08-14 05:21:43

路由器網絡運維網絡

2021-01-25 05:41:25

Flash Fliqlo軟件

2021-11-22 11:30:37

JavaScript代碼瀏覽器

2021-08-02 05:16:36

IE技巧操作系統

2013-05-03 11:21:27

2017-02-28 20:03:49

WIFI無線網卡

2020-06-05 15:45:18

微信微信號移動應用

2012-06-04 09:05:13

2022-05-30 08:53:47

PycharmPython
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 视频一区在线播放 | 精品国产乱码久久久久久丨区2区 | 国产免费看 | 久久久久久久久久久久91 | 红桃视频一区二区三区免费 | 日本成人毛片 | 天天综合干 | 日韩欧美三级在线 | 最新免费黄色网址 | 天堂av中文在线 | 国产精品毛片一区二区在线看 | 黄色毛片黄色毛片 | 亚洲国产成人精品久久久国产成人一区 | 免费成人高清在线视频 | 九九亚洲| 精品日韩 | 97色伦网 | 欧美区在线 | 精品中文字幕一区二区 | 免费看国产精品视频 | v片网站| 日韩在线欧美 | 美女爽到呻吟久久久久 | 欧美片网站免费 | 欧美成人精品一区二区三区 | 蜜臀av日日欢夜夜爽一区 | 亚洲a网| 国产视频第一页 | 成人激情视频 | 在线观看免费福利 | 成人午夜电影在线观看 | 一本色道久久综合亚洲精品高清 | 成人精品国产一区二区4080 | 国产精品一区二区电影 | caoporn视频| 一区二区三区福利视频 | 亚洲视频一区在线观看 | 超碰在线免费公开 | 日韩一区在线播放 | 欧美精品在线一区二区三区 | 亚洲国产成人精品久久久国产成人一区 |