当与服务器建立TCP连接时,它会提示问题并在while循环中等待3秒的答案,然后终止。我需要将文件的内容作为对提示的响应发送到服务器 - 所以我想将它们放在stdin上。
我绝对必须等待,服务器首先需要提问,然后我需要从文件中发送结果。
有没有办法用管道和netcat或类似的东西来完成这个任务?或者我是否需要根据需要调整一些基本的tcp客户端程序?
编辑背景:对于大学作业,我需要溢出缓冲区以访问服务器。我已经构建了一个字符串,可以成功地为预编译的二进制文件执行该操作,现在我需要将其发送到服务器。简单的复制粘贴不起作用,因为我的字符串包含不可打印的字符或字符,如果编码导致不同的十六进制值。
编辑 cat文件的日志文件| nc主机端口
答案 0 :(得分:1)
如果我理解你想要从客户端传输一个文件到服务器抛出网络广播。
所以 在服务器端,你可以做: nc -l 3333> myfile.txt的
并在客户端 cat myfile.txt | nc localhost 3333
但我不明白当你说“当与服务器建立TCP连接时”实际上它什么都没有。
答案 1 :(得分:0)
使用简单的shell管道无法做到这一点,因为流经管道是单向的。您可以使用管道构建循环,但不能在单个命令中构建循环,此时,我只需要使用您喜欢的编程语言编写的简单TCP客户端应用程序。