Linux下nc命令简单使用
前言
nc是netcat的简写,有着网络界的瑞士军刀美誉,因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具。
nc的作用
- 实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口
- 端口的扫描,nc可以作为client发起TCP或UDP连接
- 机器之间传输文件
- 机器之间网络测速
常用参数
- -l 用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。
- -p <port> 暂未用到(老版本的nc可能需要在端口号前加-p参数,下面测试环境是centos6.6,nc版本是nc-1.84,未用到-p参数)
- -s 指定发送数据的源IP地址,适用于多网卡机
- -u 指定nc使用UDP协议,默认为TCP
- -v 输出交互或出错信息,新手调试时尤为有用
- -w 超时秒数,后面跟数字
- -z 表示zero,表示扫描时不发送任何数据,一般只在扫描通信端口时使用。
- -n 直接使用IP地址,而不通过 DNS 域名服务器(可以加快扫描速度)
- -w <seconds> 超时秒数,后面跟数字
具体使用
nc -l 9999 # 作为server端启动一个tcp的监听
nc -zv www.baidu.com 80 # 验证端口是否开放,注意不要加https或者http
nc -zv www.baidu.com 80 -w 2 # 验证端口是否开放,超时2秒
nc -zvn 153.3.238.102 80 -w 2 # 验证IP的端口是否开放,超时2秒
nc -zv www.baidu.com 80-100 # 扫描多个端口,会连接超时