我试图理解为什么netcat监听器无法在我的Kali Linux VM中运行。根据我的理解,我打开一个终端并打开端口。
nc -l 155
然后,我在我的VM中打开另一个终端并使用以下命令连接到该端口号。
nc 127.0.0.1 155(环回IP地址和相同的端口号)
这是不成功的,因为我只是这个领域的新手,我希望能在这个问题上获得一些帮助。但是,我找到了一种执行此命令的新方法,但我不理解为什么这种新方法有效的逻辑,而不是我在课堂上学到的原始方法。提前谢谢你的帮助!
答案 0 :(得分:0)
首先,要提升自己的新手身份,您必须了解错误的含义。 “它不成功”是对任何实际调试的结果的描述不充分。可能发生的事情是这个问题的一个有价值的线索 - 你应该包含这些信息。此外,你真的必须在quetsion完全正确的命令。不要说你做了一件事,然后发布其他事情的截图。我不确定-e应该做什么,但我在我的osx实现或在线手册页中找不到任何记录。
netcat 的不同构建或实现可能不同,但从我在osx框中的netcat看到的情况来看,-p
不是指定目标端口的正确方法。
$ nc localhost -p 1055
nc: missing hostname and port
usage: nc [-46AacCDdEFhklMnOortUuvz] [-K tc] [-b boundif] [-i interval] [-p source_port] [--apple-delegate-pid pid] [--apple-delegate-uuid uuid]
[-s source_ip_address] [-w timeout] [-X proxy_version]
[-x proxy_address[:port]] [hostname] [port[s]]
-p
指定源端口。您通常不需要指定它。此外,您不能在同一端口的同一个盒子上拥有套接字的源和目标。通常不需要指定源端口。
最后,1024以下的端口只能以root身份分配。像大多数Linux专业人士一样,除非我真的需要,否则我不会以root身份运行任何东西,因此我将此更改为1055。在终端窗口中各有一个nc,在另一侧的一个打印件中键入消息。观察:
$ nc -l 1055
hi world
hi yourself, world!
$ nc localhost 1055
hi world
hi yourself, world!
答案 1 :(得分:0)
服务器:nc -l ${port} > ${file}
本地:nc ${ip} -z ${port} < ${file}