使用 Netcat 将二进制文件(逐行)发送到套接字服务器

2023-12-04

作为分拆这个堆栈溢出问题除了一些调整之外,我想实现相同的目标。

我想连接到主机,逐行发送二进制文件,并在每行之间有几秒钟的延迟......并且它必须位于同一连接中。我想要发送的字符串主要是基于文本的,但该行中有一些不可打印的字符。

这是我要发送的字符串/行的示例(每个文件数千行):

<null>e<null><null>00326513,6598,no,8,,2z<null>

The <null>value 是十六进制值0x00.

我已经从第一个条目重写了我的问题,但是@mzet回答了我原来的问题,因为我的问题只是文本,但后来我发现我的字符串有这些0x00我一开始看不到里面的字符。我想用他的答案作为基础,因为我认为它几乎有效,但可能需要调整,所以这是他的贡献,而不是我的。

如果我有一个包含 3 行的文件:

<null>e<null><null>00370513,6598,no,8,,2z<null>
<null>f<null><null>00891548,6598,yes,8,,3z<null>
<null>f<null><null>00129525,6598,yes,8,,2z<null>

然后我想我可以调整@mzet回答并替换<null>我的文件中的值\x00并设置-e on the echo命令:

[root@srv]# mkfifo /tmp/fifoIn; cat /tmp/fifoIn | nc localhost 2222 &
[root@srv]# cat myfile | while read line; do echo -ne $line; sleep 2; done > /tmp/fifoIn

当我这样做时,我可以看到x00在服务器端:

[root@srv]# nc -l 2222
x00ex00x0000370513,6598,no,8,,2zx00
x00fx0000891548,6598,yes,8,,3zx00
x00fx00x0000129525,6598,yes,8,,2zx00

是否可以按照我的要求发送二进制(文本?)文件?如果无法逐行发送文件,是否可以将一个字符串发送数千次?绝对必要的是,它们不需要是唯一的或在文件中,因为我可以使用重复的相同字符串进行管理。

EDIT #1

为什么我的脚本只向服务器发送一行(我希望发送 4 行),然后它就永远暂停(?)。客户端(或服务器)关闭其连接,但不会出现任何错误:

rm -f /tmp/fifofile
mkfifo /tmp/fifofile
cat /tmp/fifofile | nc 192.168.20.6 5000 &
sleep 1

i="0"

while [ $i -lt 4 ]
do
  echo "$i"
  echo -ne "\x00e\x00\x00001212dsfdsfdsfsdfsdfsdfdsf\x00" | tee /tmp/fifofile
  sleep 1
  i=$[$i+1]
done

您可以通过两步来实现:

1) 您需要使用命名管道 (fifo) 作为输入来启动 nc:

mkfifo /tmp/fifoIn; cat /tmp/fifoIn | nc localhost 2222 &

2) 从文件 input.txt 逐行发送数据,延迟 2 秒:

cat input.txt | while read line; do echo $line; sleep 2; done > /tmp/fifoIn

我已经用这个“服务器”测试了它(我使用的是 openbsd netcat 语法):

nc -l localhost 2222
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Netcat 将二进制文件(逐行)发送到套接字服务器 的相关文章

  • Bash while 循环等待任务完成

    我创建了一个 bash 脚本来处理文件夹及其子文件夹中的视频 find type f name mkv while read file do ffmpeg i file done 问题 它不是 while 循环等待 ffmpeg 完成 而是
  • Linux 上的 Pervasive ODBC 错误 [01000][unixODBC][驱动程序管理器]无法打开 lib '/usr/local/psql/lib/odbcci.so':找不到文件

    我正在尝试让 Pervasive v10 客户端 ODBC 在 Centos 6 上运行 据我所知 没有 64 位 ODBC 客户端 因此我必须使用 32 位客户端 我终于成功安装了它 但尝试使用时出现以下错误 isql v mydsn 0
  • 无需超级用户即可在 Linux 中打开 RAW 套接字

    我必须编写一个在 Linux 上运行的 ping 函数 语言是 C 所以 C 也可以 在网上搜索并查看源代码ping命令 事实证明我应该创建一个原始套接字 icmp sock socket AF INET SOCK RAW IPPROTO
  • C 语言的符号表

    我目前正在开发一种执行模式匹配的静态分析工具 我在用Flex https github com westes flex生成词法分析器 我编写了代码来管理符号表 我不太有经验C 所以我决定将符号表实现为线性链表 include
  • 使用循环在 C 中管道传输两个或多个 shell 命令

    我正在尝试执行ls wc l通过 C 语言程序 而不是使用命令行 这是我当前的工作代码 int main int pfds 2 pipe pfds pid t pid fork if pid 0 The child process clos
  • 添加文件时运行 shell 命令

    我的 Linux 机器上有一个名为 images 的文件夹 该文件夹连接到一个网站 该网站的管理员可以向该网站添加图片 但是 当添加图片时 我想要一个命令来运行调整目录中所有图片的大小 简而言之 我想知道当新文件添加到特定位置时如何使服务器
  • CMake 链接 glfw3 lib 错误

    我正在使用 CLion 并且正在使用 glfw3 库编写一个程序 http www glfw org docs latest http www glfw org docs latest 我安装并正确执行了库中的所有操作 我有 a 和 h 文
  • Bash 实例未嵌套在 Dockerfile `RUN` 中

    嵌套 bash 实例会递增 SLVL 环境变量 http tldp org LDP abs html internalvariables html http tldp org LDP abs html internalvariables h
  • 如何在 Linux 中使用 C 语言使用共享内存

    我的一个项目有点问题 我一直在试图找到一个有据可查的使用共享内存的例子fork 但没有成功 基本上情况是 当用户启动程序时 我需要在共享内存中存储两个值 当前路径这是一个char and a 文件名这也是char 根据命令参数 启动一个新进
  • Intel 上的 gcc 中的 _mm_pause 用法

    我参考过这个网页 https software intel com en us articles benefitting power and performance sleep loops https software intel com
  • 使用 python 脚本更改 shell 中的工作目录

    我想实现一个用户态命令 它将采用其参数之一 路径 并将目录更改为该目录 程序完成后 我希望 shell 位于该目录中 所以我想实施cd命令 但需要外部程序 可以在 python 脚本中完成还是我必须编写 bash 包装器 Example t
  • 终端关闭时 bash 收到的信号

    使用 trap 来捕获信号 如下所示 i 1 while i lt 33 do trap echo i gt gt log txt i done 并强行关闭终端 那么log txt中的内容就是 redhat linux下 1 18 1 17
  • Linux 为一组进程保留一个处理器(动态)

    有没有办法将处理器排除在正常调度之外 也就是说 使用sched setaffinity我可以指示线程应该在哪个处理器上运行 但我正在寻找相反的情况 也就是说 我想从正常调度中排除给定的处理器 以便只有已明确调度的进程才能在那里运行 我还知道
  • 为什么 Git Bash 无法运行我的可执行文件?

    I am on git for windows https github com git for windows 吉特 巴什 我无法在命令行上运行可执行文件 Pedr Abc 07 MINGW64 c dev ls sqlite3 exe
  • 使用 gdb 调试 Linux 内核模块

    我想知道 API 在内核模块 中返回什么 从几种形式可以知道 这并不是那么简单 我们需要加载符号表来调试内核模块 所以我所做的就是 1 尝试找到内核模块的 text bss和 data段地址 2 在 gdb 中使用 add symbol f
  • Apache 访问 Linux 中的 NTFS 链接文件夹

    在 Debian jessie 中使用 Apache2 PHP 当我想在 Apache 的文档文件夹 var www 中创建一个新的小节时 我只需创建一个指向我的 php 文件所在的外部文件夹的链接 然后只需更改该文件夹的所有者和权限文件夹
  • 如何检查主机是否在您的known_host ssh中

    我的脚本中使用以下命令 将主机添加到 ssh 中的已知主机 VAR2 expect c spawn ssh o StrictHostKeyChecking no REMOTE HOST USER REMOTE HOST IP expect
  • x86-64 AMD 上 CALL 指令的操作数生成

    以下是示例程序 objdump 的输出 080483b4
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的
  • 测试 bash shell 脚本[重复]

    这个问题在这里已经有答案了 有人可以解释一下如何测试 bash shell 脚本吗 例如 我有一个 sh 文件 其中包含此代码 bin sh for file in txt do mv file basename file txt doc

随机推荐

  • 如何解释CUDA中的指令重放

    谁能总结一下 CUDA 中不同类型的指令重放的定义和原因吗 他们是 inst replay overhead 共享重播开销 全局重播开销 全局缓存重播开销 本地重播开销 原子重播开销 共享加载重播 共享存储重播 global ld mem
  • FacesContext 无法在带有 JSF 2.3 的 Wildfly 14 中注入(Mojarra,主模块)

    我有一颗豆子 import javax faces context FacesContext import javax faces view ViewScoped Named ViewScoped public class SimpleBe
  • 无法使用 Shenandoah GC

    我不能放谢南多厄GC在尝试运行 Java 应用程序时工作 无论我尝试什么 调用时的输出如下java来自终端 或 CMD 的命令 VM初始化期间发生错误 不支持选项 XX UseShenandoahGC 在 Ubuntu WSL 和 Wind
  • 在 WPF MVVM 应用程序中添加材料设计后,数据网格不显示滚动条并且设计已过时

    我在 WPF MVVM 应用程序中使用了 Material Design 和 Dragablz TabablzControl Material Design 用于设置按钮和文本框的样式 网格位于选项卡控件内部 将批量数据加载到数据网格后 我
  • Log4j2 无法在 WebLogic 12.2.1 中工作

    我试图在 WebLogic 12 2 1 下运行的 Web 服务中添加 log4j 日志记录 但不知何故日志记录不起作用 这是我的 WAR 文件的 WEB INF classes 中的 log4j2 xml
  • 注册应用程序以打开图像文件

    我已成功注册我的应用程序以打开 PDF 文件 方法是将以下内容包含在我的 info plist 中
  • 最新浏览器中抛出 getusermedia DevicesNotFoundError

    我已经在 WebRtc 上使用 getUserMedia 一段时间了 但自从浏览器最新更新以来我一直无法使用它 在以前的版本上工作得很好 受影响的浏览器版本 火狐 57 0 4 铬 63 0 3239 132 示例代码 navigator
  • 引导程序启动时如何关闭菜单折叠?

    我有一个使用 Drupal 8 和 Bootstrap 3 构建的网站 如何在引导程序 Tour 启动时关闭菜单折叠 https www s1biose com 单击左侧菜单中的 开始参观 即可开始 游览 我希望单击 开始访问 按钮时 左右
  • Windows Xp 上的 Microsoft.Windows.ActCtx

    这些天我非常忙于开发一个 activex com 应用程序 我们的一些客户在严格限制的 Windows 环境下工作 所以我决定让我的应用程序免注册 我发现 genman32 exe 可以轻松创建清单 mt exe 也很有用 一切都很顺利 但
  • 如何在极坐标 matplotlib 图上绘制带有文本(即标签)的水平线? (Python)

    我正在尝试在极坐标图中标记节点 有 3 个被分割的 轴 我已经弄清楚如何使用象限来选择要标记的节点 但是 我不知道如何在图的边缘对齐这些 即axis maximum 我花了几个小时试图弄清楚这一点 我最好的选择是用 在左边或右边 但这是一个
  • HTML 加载动画

    我的网站在页面未加载时丢失了布局方案 我想做的是将动画链接到加载进度 就像进度条但没有进度条 例如 一个简单的动画 将进度与徽标的不透明度联系起来 因此 当页面加载 50 时 徽标的不透明度为 50 当徽标为 100 时 页面已加载 加载进
  • Silverlight FTP 上传

    我正在尝试通过 silverlight 应用程序将文件 ftp 到服务器 服务器文件系统上上传文件的位置位于 Web 服务器的沙箱区域之外 在这种情况下 Web 服务器根目录位于 C test www 上传文件的位置将位于 C User U
  • AWS cli 列出未使用的 elb

    我对 AWS 还很陌生 我试图列出未附加到任何实例的负载平衡 我尝试使用 aws cli 描述负载均衡器 但无法获得过滤 elb 的选项 请提供一些关于如何实现这一目标的建议 假设您已使用合适的密钥设置了 aws cli 这一长行 shel
  • Azure ML 免费试用:如何提​​交管道?

    我正在 MS Azure 上使用免费试用帐户 并且正在遵循本教程 https learn microsoft com en us azure machine learning tutorial designer automobile pri
  • 当我使用远程调用或 jQuery 远程加载部分/内容时,jquery ujs 不起作用

    我有一段 jQuery 代码 它用一些内容填充页面上的元素 var content note note id html another div html content 这很好地替换了另一个 div 的 html 但问题是任何数据远程属性都
  • 使用 Flexbox 出现意外的空白空间

    在问题仍然存在的情况下 我已将问题减少到最低限度 我不明白橙色空间是从哪里来的 A clue 删除一张图像 橙色空间就会消失 OutterContainer display flex flex wrap wrap flex directio
  • word vba 循环执行 if find.found

    我正在尝试使用 Word VBA 循环浏览文档 我想做的是 如果我发现 Text A vbTab 然后我想将其替换为 A 然后转到该行末尾 按一次 DEL 键并键入 br 但我无法管理它 当我运行这段代码时 不知何故 word 不断崩溃 S
  • Java EE 6 应用程序客户端登录

    我对 Java EE 很陌生 在开始创建我想要创建的应用程序时遇到了很多麻烦 我想要的是一个连接到 EJB 项目的 Swing 应用程序客户端 我正在使用 Glassfish v3 1 1 到目前为止 我拥有的是两个无状态 bean 其中一
  • 如何修复 XSLT 中的“样式表编译期间报告错误”?

    当我运行 XSLT 代码时出现此 SaxonApiExceptionhttps xslttest appspot com 它返回此错误 net sf saxon s9api SaxonApiException 样式表编译期间报告错误 我尝试
  • 使用 Netcat 将二进制文件(逐行)发送到套接字服务器

    作为分拆这个堆栈溢出问题除了一些调整之外 我想实现相同的目标 我想连接到主机 逐行发送二进制文件 并在每行之间有几秒钟的延迟 并且它必须位于同一连接中 我想要发送的字符串主要是基于文本的 但该行中有一些不可打印的字符 这是我要发送的字符串