• 手动杀掉 tcp 连接的方式


    一、背景

           当服务调用另一个服务的接口或者与另一个服务建立 socket 通信等,都需要建立 tcp 连接,对于长连接 tcp 连接,往往要求服务断开时能够自动恢复 tcp 连接。为了验证 tcp 断开,连接是否能够自动恢复,我们需要用到 tcpkill 工具。

    二、安装 dsniff

    1、yum 安装 dsniff

    # 搜索 yum 中是否有 dsniff 包以及其对一个的版本,当前 yum 不存在 dsniff 包时,按照 2 章节进行手动安装

    yum  search dsniff

    # 当 yum 存在可安装的 dsniff 时,直接通过以下命令进行安装

    yum -y install xxxxx 

    2、手动通过 rpm 安装 dsniff

      1) 下载地址:http://rpmfind.net/linux/rpm2html/search.php?query=dsniff(x86-64)     (原始地址:https://rpmfind.net/linux/rpm2html/

       2) 将下载下来的该文件上传到 linux 服务器上 并 远程到 linux 服务器上 (centos)

     依次按照以下的方式 开始 安装 libICE、libSM、libXmu、libcrypto、libnet、libnids、libssl

     

     通过该方式还剩下以下内容未安装(libcrypto、libnids、libssl):

      3) libnids 安装

            仍是在 rpm 网站上下载这个  libnids ,根据上图提示需要安装 1.24 版本的

           下载下来之后使用  rpm -ivh    xxxxxx  命令进行安装

      4)libcrypto、libssl 安装

          libcrypto.so.1.1 、libssl.so.1.1  是  openssl11 的库,但通过命令  openssl version 发现当前环境安装的不是该版本

         查资料发现 这两个 so 文件在 openssl11-libs 中,所以直接 安装该软件即可

              a) 下载 openssl11-libs 软件  (下载网站:https://centos.pkgs.org/)

     

              b) 安装  openssl11-libs

         将 下载下来的 rpm 上传到服务器上,并执行 rpm -ivh xxxx 命令进行安装

     此时直接 /usr/lib64 下可以 查到 libssl.so.1.1 以及 libcrypto.so.1.1  软链接

      5)安装 dsniff 

      通过上图可以看到我们安装的是 2.4 的版本,至此  dsniff 安装好了 ,可以使用  tcpkill 命令 杀死指定 的 tcp 连接

    3、使用 tcpkill 命令杀死指定的 tcp 连接

        1) 命令

    tcpkill -i eth0 -9 port yyyy

    tcpkill -i eth0 host xxx.xxx.xxx.xxx and port yyyy

         2) 操作

     从图中可以看出 画横线的 2条 是tcp 的双向连接 ,146 和 148 是同一个网卡上的2个IP,目标是 杀死 10.19.214.148:64478 上的 tcp 连接,看10.19.214.148 是否还会再次向 10.19.214.145:7003 上发起 tcp 连接。

    通过上面的截图可以看出, 64478 上的连接 的确被杀死了,同时有重新 向 145:7003 上发起了 tcp 连接,使用的端口号为 64456。

  • 相关阅读:
    zipfile和tarfile的简单使用方法
    RabbitMQ安装
    postman接口自动化
    linux命令
    redis安装部署和使用
    nmon使用
    jdk自带监控工具配置使用
    修改本机mac
    hashlib模块,md5加密
    tomcat部署
  • 原文地址:https://www.cnblogs.com/sandyflower/p/15889127.html
Copyright © 2020-2023  润新知