kali如何安装netcat_Netcat使用-01
发布日期:2021-06-24 13:16:09 浏览次数:3 分类:技术文章

本文共 1630 字,大约阅读时间需要 5 分钟。

559d0466a2b3b31d80c020fabd2f6d01.png

喜欢玩Unix/Linux同学一定对netcat这个工具不陌生,简单讲netcat就是一套操作TCP/UDP的命令行工具集,号称TCP/IP领域的瑞士军刀(官方自称)。

下面我们来讲一下如何使用这个feature繁多体积却很小的工具。

netcat目前分为两个版本:netcat-traditional 和 netcat-openbsd。

  • netcat-tranditional是GNU工程版本,基本上每个Linux版本都带这个工具,对应的命令名称为nc.traditional。
  • netcat-openbsd是OpenBSD的版本,功能非常强大,对应的命令名称为nc,这个是我们这次真正要用的工具。

在Linux环境下面,如果没有安装netcat-openbsd这个版本的话,我们在terminal打出的nc这个命令,对应的就是nc.traditional这个命令,也就是netcat-traditional这个工具。大家可以使用readlink -f $(which nc)查看一下。

要使用netcat,首先我们要安装:

sudo apt-get netcat-openbsd

为了写这篇教程,我在Windows10下面的hyper-v上装了一个Debian Buster的虚拟机,然后使用apt这个命令很快就可安装成功。hyper-v这个Windows自带的虚拟机比WSL好用。我个人还是喜欢纯粹的Linux系统,所以没有使用WSL。听说后续的Windows版本带的WSL2是完全使用hyper-v运行Linux内核的,对此我还是很期待的。

安装完成后,我们在终端上输入命令nc -h,如下图:

39375cc2aa31e6f27c769e0e184a20bc.png

刚开始看不懂很正常,工具这种东西慢慢用,用久了也就学会了,我个人不提倡技术领域死记硬背一些自己用不上的技术,抓住主干知识,其他知识到用的时候查查文档就好了。

那么,我们能用netcat干点什么呢?

实现Telnet功能

nc -v baidu.com 80

然后输入GET / HTTP/1.0,点击两次Enter。

至此,netcat连上了http://zhu.com的80端口,通过发送GET / HTTP/1.0来模拟出了一次http的请求。

e47e0f84e51c4888067f44b314db7c56.png

实现简单的Socket服务器

平时我们使用的网站例如知乎都是我们的浏览器访问Web Server,而我们使用的微信,QQ这种即时通讯类软件都是挂着一条长连接到后端服务器,也就是Socket服务器。

通过netcat工具,我们可以通过一行代码建立一个简单的Socket服务器,如下:

nc -l -v 3000

293ddd47b2285c455dd5d624188fcd63.png

然后我们切换一个标签,通过telnet localhost 3000连到这个Socket服务器,输入hello world,则服务器收到hello world这个字符串。

eb6cc136152b18d0c9cef54fe667559e.png

a1fad87f0d2744d0bc6330c4ee868e96.png

文件传输

机器A cat hello_world.txt | nc -v -l -p 12345

ac6bf69b126b316955a2a1077e460ea9.png

机器B nc localhost 12345 > receive.txt

c5ca78779f2f2bd55fb8c4d1f2ffd5dd.png

端口扫描

nc -v -n -z -w 1 192.168.1.2 56-99

eaa39f005cd61bf28f4f87b6d95d0655.png

简单的web服务器

一般开发中,开启一个简单的web服务都是使用开源框架内置的web服务器,例如rails内置的WEBrick。如果仅仅是想展示一个静态html,使用这个web框架的内置服务器显得过重,有时候我会用一下Python的SimpleHTTPServer:python -m SimpleHTTPServer 8000。netcat也可以非常简单的完成这个工作,如下代码:

nc -l -p 8000 -q 1 < index.html

7d141aee38c45616ca2534344866dedb.png

不过这个是一次性的web server,可以编辑一个bash脚本文件,实现持久访问,如下:

50db54f79c961c0d0b4c351b95e192da.png

53fd0b4ea9f6e98e1ab4837314dccd6d.png

小结

Netcat有非常多的功能等待挖掘,我后续会写一系列的文章来介绍。

大家对我的文章兴趣可以关注我的公众号:安州涤生的网络日志

转载地址:https://blog.csdn.net/weixin_33073525/article/details/112539168 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:如何点击按钮弹出弹框显示几秒_如何给Word、Excel、PPT文件加密?方法很简单,不用怕资料被盗了...
下一篇:cad快速看图网络出错_苹果用户福音——CAD快速看图mac版来啦

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月13日 00时39分05秒