一、概念
tcpkill是乙個tcp連線釋放工具,主要用於客戶端tcp連線未釋放導致address already in use情況。tcpkill預設只能乾掉活躍連線,無法釋放非活躍連線、半連線。
二、安裝
1.通過yum安裝
yum install dsniff
yum -y install dsniff --enablerepo=epel
2.通過rpm安裝
rpm -ivh dsniff-2.4-0.17.b1.el6.x86_64.rpm
error: failed dependencies:
libice.so.6()(64bit) is needed by dsniff-2.4-0.17.b1.el6.x86_64
libsm.so.6()(64bit) is needed by dsniff-2.4-0.17.b1.el6.x86_64
libxmu.so.6()(64bit) is needed by dsniff-2.4-0.17.b1.el6.x86_64
libdb-4.7.so()(64bit) is needed by dsniff-2.4-0.17.b1.el6.x86_64
libnet.so.1()(64bit) is needed by dsniff-2.4-0.17.b1.el6.x86_64
libnids.so.1.24()(64bit) is needed by dsniff-2.4-0.17.b1.el6.x86_64
$rpm -ivh libice-1.0.6-1.el6.x86_64.rpm
$rpm -ivh libsm-1.2.1-2.el6.x86_64.rpm
$rpm -ivh libxmu-1.1.1-2.el6.x86_64.rpm
error: failed dependencies:
libxext.so.6()(64bit) is needed by libxmu-1.1.1-2.el6.x86_64
libxt.so.6()(64bit) is needed by libxmu-1.1.1-2.el6.x86_64
$rpm -ivh libxext-1.3.3-1.el6.x86_64.rpm
$rpm -ivh libxt-1.1.4-6.1.el6.x86_64.rpm
$rpm -ivh libxmu-1.1.1-2.el6.x86_64.rpm
$rpm -ivh libnet-1.1.6-7.el6.x86_64.rpm
$rpm -ivh libnids-1.24-1.el6.x86_64.rpm
$yum install compat-db47
$rpm -ivh dsniff-2.4-0.17.b1.el6.x86_64.rpm
3.校驗
$tcpkill
version: 2.4
usage: tcpkill [-i inte***ce] [-1..9] expression
三、使用
1.命令
tcpkill -i eth0 -9 port yyyy
tcpkill -i eth0 host ***.***.***.*** and port yyyy
2.例項:釋放指定埠連線
1.查詢連線對應被動埠號
netstat -an|grep 3600
tcp 0 0 0.0.0.0:3600 0.0.0.0:* listen
tcp 0 378 22.61.189.76:3600 13.66.110.215:59986 established
2.踢掉59986連線
tcpkill -i eth0 -9 port 59986
tcpkill: listening on em1 [port 59986]
22.61.189.76:59986 > 13.66.110.215:3600: r 2505431948:2505431948(0) win 0
3.ctrl+c結束後再次檢視連線
netstat -an|grep 3600
tcp 0 0 0.0.0.0:3600 0.0.0.0:* listen
3.例項:釋放指定ip連線
1.統計171.1.1.171 ip連線數
netstat -anp | grep "171.1.1.171" | wc -l
2.統計80埠連線數
netstat -nat | grep -i "80" | wc -l
3.釋放172.30.219.7 ip連線
tcpkill -9 host 172.30.219.7
4.例項:其他情況
tcpkill -9 host 192.168.10.30 &>/dev/null
tcpkill -9 port ftp &>/dev/null
tcpkill -9 port 53 and port 8000 &>/dev/null
tcpkill -9 net 192.168.10 &>/dev/null
tcpkill -9 net 192.168.10 and port 22 &>/dev/null
擴充套件:如何乾掉一條tcp連線(活躍/非活躍)
原理:對於nc已經建立的連線執行tcpkill 後無法立即乾掉,只有在這個連線上有資料傳輸的時候才會把傳送rst 包將連線reset掉
1.乾掉活躍連線
直接利用tcpkill乾掉活躍連線即可
2.乾掉非活躍連線
構造syn 包傳送給連線的一端,收到應答後根據應答中的序列號構造rst報文乾掉連線
3.乾掉半連線
乾掉半連線的方法同乾掉非活躍連線的方式一樣,只是syn 包一定要向半連線還存在的一端傳送
4.注意問題
tcpkill 一定要執行在能接收到應答包的主機上在,最好執行在連線或半連線存在的一端主機上
5.關於tcpkill**改動
(1)增加函式build_syn 根據相關引數構造syn 報文併發送到網路中,後台執行緒執行此函式不斷傳送syn 包
(2)執行pcap_loop捕獲應答報文,並傳送rst報文,reset 連線。從本質上說其實就是讓非活躍連線或者半連線上有報文流動,被tcpkill捕獲到之後發rst報文乾掉連線
6.改動過後新tcpkill乾掉一條連線的使用方法
sudo tcpkill -s 192.168.103.12:10261 -d 192.168.103.169:12345
TRX離線簽名 離線生成位址
波場代幣遷移說明 trx的erc20代幣遷移至波場主網代幣.廢話不多說 不明白的可以看下上面的公告 快捷生成trx位址 return throws invalidalgorithmparameterexception throws nosuchalgorithmexception throws no...
python安裝離線包 python離線包
只是,乙份離線的文件畢竟能更讓人安心。接下來引導大家獲取乙個離線的gdal文件 python 開啟github02https github.compcjerickspy gdalogr cookbook.乙個有趣的靈魂w gdal的官網一搜就有了 www.gdal.org。裡面對gdal各種函式的描...
openg離線包 OpenGL離線渲染和緩衝區物件
理論 輸入 影象,點,線。輸出 影象 實現方案 從一般到特殊 1.不支援fbo 主要介紹pc上,移動裝置如果不支援fbo要實現離線渲染那就實在沒轍了。gldrawbuffer gl back glreadbuffer gl back 設定讀寫時後快取區。一般pc都支援雙緩衝機制,如果沒有gl bac...