Tan's Blog.

304Challenge:nc命令 & Telnet

字数统计: 820阅读时长: 3 min
2019/04/22 Share

仔细读题,发现题目中给出一个公网可访问的示例,来方便测试与查看效果。使用的是nc命令,第一次接触这个命令,先做一个了解。

nc命令

什么是nc

nc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具

nc的作用

(1)实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口
(2)端口的扫描,nc可以作为client发起TCP或UDP连接
(3)机器之间传输文件
(4)机器之间网络测速

基本使用

想要连接到某处:

1
nc[-options]hostnameport[s][ports]...

绑定端口等待连接:

1
nc-l-pport[-options][hostname][port]

参数:

参数说明
-C类似-L选项,一直不断连接[1.13版本新加的功能]
-d后台执行
-e prog程序重定向,一旦连接,就执行 [危险!!]
-g gateway源路由跳数,最大值为8(source-routing hop point[s],up to 8)
-G num源路由指针:4,8,12,… (source-routing pointer: 4,8,12,…)
-h帮助信息
-i secs延时的间隔
-l监听模式,用于入站连接
-n指定数字的IP地址,不能用hostname
-o file记录16进制的传输
-p port本地端口号
-r任意指定本地及远程端口
-s addr本地源地址
-uUDP模式,[netcat-1.15可以:远程nc -ulp port -e cmd.exe,本地nc -u ip port连接,得到一个shell.]
-v详细输出——用两个-v可得到更详细的内容
-w secs指定超时的时间
-z将输入输出关掉——用于扫描时

其中端口号可以指定一个或者用lo-hi式的指定范围。

实例

网络连通性测试和端口扫描
使用nc命令作为客户端工具进行端口探测

使用nc传输文件和目录
把在20188端口接收到的数据都写到out文件里

往20188端口发送数据

其实我都没搞清楚到底要测试什么文件?

测试网速
需要使用dstat命令监测网速,先安装dstat工具,Ubuntu系统下,使用命令:

1
sudo apt-get install dstat

安装完成后,测试一下

测试网速其实利用了传输文件的原理,就是把一台机器的无限个0,传输给另一个机器的空设备上,然后新开一个窗口使用dstat命令监测网速
使用命令:

1
nc hostnameport port <dev/zero

了解了nc命令,让我想到一个跟它很类似的命令,就是telnet命令,我就简单了解了一下Telnet和nc命令的区别。

telnet命令

Telnet

Telnet(远程终端协议),是Internet远程登录服务的标准协议和主要方式,它为用户提供了在本地计算机上完成远程主机工作的能力。

Telnet的作用

(1)连接服务器端口,并进行通信
(2)登录远程telnet服务器,使用命令行对其进行控制

Telnet基本使用

连接服务器端口:telnet [服务器地址] [端口]
远程控制服务器:telnet [服务器地址]

telnet使用明文传输,易泄露数据,因此逐渐被ssh取代。

CATALOG
  1. 1. nc命令
    1. 1.1. 什么是nc
    2. 1.2. nc的作用
    3. 1.3. 基本使用
    4. 1.4. 实例
  2. 2. telnet命令
    1. 2.1. Telnet
    2. 2.2. Telnet的作用
    3. 2.3. Telnet基本使用