在服务器提示符下从文件输入

时间:2016-01-31 12:49:13

标签: c linux netcat

当与服务器建立TCP连接时,它会提示问题并在while循环中等待3秒的答案,然后终止。我需要将文件的内容作为对提示的响应发送到服务器 - 所以我想将它们放在stdin上。

我绝对必须等待,服务器首先需要提问,然后我需要从文件中发送结果。

有没有办法用管道和netcat或类似的东西来完成这个任务?或者我是否需要根据需要调整一些基本的tcp客户端程序?

编辑背景:对于大学作业,我需要溢出缓冲区以访问服务器。我已经构建了一个字符串,可以成功地为预编译的二进制文件执行该操作,现在我需要将其发送到服务器。简单的复制粘贴不起作用,因为我的字符串包含不可打印的字符或字符,如果编码导致不同的十六进制值。

编辑 cat文件的日志文件| nc主机端口

Logfile

2 个答案:

答案 0 :(得分:1)

如果我理解你想要从客户端传输一个文件到服务器抛出网络广播。

所以 在服务器端,你可以做: nc -l 3333> myfile.txt的

并在客户端 cat myfile.txt | nc localhost 3333

但我不明白当你说“当与服务器建立TCP连接时”实际上它什么都没有。

答案 1 :(得分:0)

使用简单的shell管道无法做到这一点,因为流经管道是单向的。您可以使用管道构建循环,但不能在单个命令中构建循环,此时,我只需要使用您喜欢的编程语言编写的简单TCP客户端应用程序。