netcat网络工具

时间:2019-04-29 03:17:34  来源:igfitidea点击:

netcat-nc-实用程序

netcat实用程序或nc通常称为用于处理TCP / IP网络的瑞士军刀。由于该工具功能广泛,因此在系统管理员和网络管理员中非常受欢迎。netcat实用程序几乎可以用于任何涉及TCP,UDP或UNIX域套接字的环境。Netcat可以打开TCP连接,发送UDP数据包,侦听任意TCP和UDP端口,执行端口扫描以及将数据从一台服务器传输到另一台服务器。在以下示例中,我将使用Ubuntu 14.04 LTS系统和CentOS 6.5系统。

在Ubuntu上安装netcat

$ sudo apt-get update
$ sudo apt-get install netcat

在RHEL/CentOS上安装netcat

[root@centos-65 ~]# yum install nc.x86_64

netcat示例

检查开放端口

使用netcat询问端口以查看其是否打开。

-v标志指定我们想要详细的输出(更详细)。
-n选项指定不使用DNS

john@ubuntu01-pc:~$ nc -vn 192.168.0.17 22
Connection to 192.168.0.17 22 port [tcp/*] succeeded!
SSH-2.0-OpenSSH_5.3

从输出端口22可以看到,连接是开放的。

john@ubuntu01-pc:~$ nc -vn 192.168.0.17 2000
nc: connect to 192.168.0.17 port 2000 (tcp) failed: No route to host

端口2000是关闭的

netcat作为端口扫描程序

netcat命令的另一个流行用法是将其用作端口扫描程序。

-w标志用于指定超时限制。
-z标志指定netcat应该只扫描监听守护进程,而不发送任何数据。

john@ubuntu01-pc:~$ nc -vnz -w 1 192.168.0.17 1-30
nc: connect to 192.168.0.17 port 1 (tcp) failed: No route to host
nc: connect to 192.168.0.17 port 2 (tcp) failed: No route to host
nc: connect to 192.168.0.17 port 3 (tcp) failed: No route to host
nc: connect to 192.168.0.17 port 4 (tcp) failed: No route to host
Connection to 192.168.0.17 22 port [tcp/*] succeeded!

同时扫描多个端口

john@ubuntu01-pc:~$ nc -vnz -w 1 192.168.0.17 20 21 22 23 24 25
nc: connect to 192.168.0.17 port 20 (tcp) failed: Connection refused
nc: connect to 192.168.0.17 port 21 (tcp) failed: Connection refused
Connection to 192.168.0.17 22 port [tcp/*] succeeded!
nc: connect to 192.168.0.17 port 23 (tcp) failed: Connection refused
nc: connect to 192.168.0.17 port 24 (tcp) failed: Connection refused
nc: connect to 192.168.0.17 port 25 (tcp) failed: Connection refused

扫描UDP端口

使用-u标志指定扫描UDP

john@ubuntu01-pc:~$ nc -vnzu -w 1 192.168.0.17 60-80
Connection to 192.168.0.17 63 port [udp/*] succeeded!
Connection to 192.168.0.17 65 port [udp/*] succeeded!
Connection to 192.168.0.17 68 port [udp/*] succeeded!

使用netcat聊天

Ubuntu (192.168.0.11)
CentOS (192.168.0.12)

Ubuntu:

监听 2468

john@ubuntu01-pc:~$ nc -lp 2468

CentOS

连接ubuntu的服务:

nc 192.168.0.11 2468

然后在ubuntu或者centos上打字,对方就能看到。