如标题所说。
我有一个 C 程序,我使用 gcc 将它编译成一个 ELF。
现在我想运行这个 ELF 并使用 netcat 来代理它。
让客户端可以 netcat 服务然后发送消息并获得响应
我运行下面的命令
nc -lp 8763 -e ./test
然后 shell 告诉我
natcat
没有 -e 选项
❯ nc -e
nc: invalid option -- 'e'
usage: nc [-46CDdFhklNnrStUuvZz] [-I length] [-i interval] [-M ttl]
[-m minttl] [-O length] [-P proxy_username] [-p source_port]
[-q seconds] [-s sourceaddr] [-T keyword] [-V rtable] [-W recvlimit]
[-w timeout] [-X proxy_protocol] [-x proxy_address[:port]]
[destination] [port]
所以我尝试
socat
.
socat tcp4-l:8763 exec:./test
服务运行,但是当我从客户端连接服务时。
服务器无法获取客户端发送的消息。
我尝试成功的唯一方法是运行下面的命令。
socat - tcp4-l:8763 | ./test
但是它只能接收来自客户端的消息,不能响应和消息给客户端。
有人知道为什么吗,或者我怎样才能制作像 CTF 这样的 netcat 服务器。
顺便说一句,我的 C 程序并不重要,它只是一个测试基本 stdio 的小程序。