加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在bash中实现netcat

发布时间:2020-12-15 22:00:47 所属栏目:安全 来源:网络整理
导读:作为我正在尝试编写的更大脚本的基础,我正在尝试基本上在bash中实现基本的netcat客户端.我当前的脚本技术上有效,它看起来像这样: #!/bin/bashexec 3/dev/tcp/$1/$2 cat 3 cat 1 3 它的问题在于它留下了一个需要被杀死的挂猫过程,但我无法想出一个自动的方法
作为我正在尝试编写的更大脚本的基础,我正在尝试基本上在bash中实现基本的netcat客户端.我当前的脚本技术上有效,它看起来像这样:

#!/bin/bash

exec 3<>/dev/tcp/$1/$2         

cat <&3 &                      
cat <&1 >3

它的问题在于它留下了一个需要被杀死的挂猫过程,但我无法想出一个自动的方法来做到这一点,并且手动运行pkill cat看起来并不像运动.

解决方法

这是一个可怕的kludge,但你可以产生一个子shell,所以像这样:

CAT1_PID=$$
echo CAT1_PID > /tmp/CAT1_PID
exec cat <&3 &

然后,当然,如果正在运行此脚本的多个副本,则会遇到竞争条件.

根据您的shell,您可以在PS列表中调用某种形式的exec和“重命名”cat.然后你可以

pkill the_cat_that_ate_the_network

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读