nc命令全名为netcat,顾名思义就是通过TCP或UDP从网络读写数据。

很多事情不一定非得抓包,nc也能发挥巨大作用。

1、传输文件

使用<>重定向符(只适用单文件,不推荐、失败时 ">" 产生空文件)

nc -l 8888 < demo.txt        # 在本机8888端口侦听TCP连接,将收到的数据写入文件

nc ip 8888 > demo.txt       # 文件接收端:将文件内容通过网络"cat"到远端

使用tar传输文件(推荐,好处是保留了原目录结构和权限)

tar cz demo1.txt demo_dir/ | nc -l 8888  # 监听8888端口,有连接时开始tar打包并"cat"到远端

nc ip 8888 | tar zx                                 # 连接、接收数据、解压一步到位。

2、建立网络管道

nc -l 8888                            # 接收消息

echo msg | nc ip 8888           # 发送消息

3、迁移生产机房数据到测试机房(运维电脑建管道)

tar cz demo1.txt demo_dir/ | nc -l 8888  # 生产机房ipA

nc -l 8888 | tar zx                                 # 测试机房ipB

nc ipA 8888 | nc ipB 8888                      # 运维个人电脑,连通两台机器的8888端口。

4、测试网络连通 (排查测试机房的lbg转发udp问题)

curl 调试http,即7层非常高效。但如何调试4层网络呢?答案就是nc

测试机房lbg做了公网udp服务的映射,但测试同学发现程序出错,怀疑网络问题,找运维同学排查。

nc -ul 9999                   # 服务ipS 监听9999端口 该端口映射到公网 ipVS:portVS

nc -zuv ipS 9999           # 内网udp连通成功   显示Connection to ipS 9999 port [udp/*] succeeded!

nc -zuv ipVS portVS       # 公网udp连通失败   显示Connection to ipVS portVS port [udp/*] fail!

一、上如何检查tcp?以上的参数u去掉,默认就是tcp。

二、进一步写出nagios插件,检查udp服务端口(以部署在PP的udp消息推送监控中)

5、代替telnet,测试mc,浮云等等。

echo -e "stats\r\n" | nc ipS portMC        # 非交换式查看mc的状态。

echo -e "INFO\r\n" | nc ipS portREDIS   # 非交换式查看redis的状态。

非交换的set、get检查浮云ds        # 已部署到PP的浮云监控。

6、使用nc发邮件,发送http请求,反弹shell,端口转发等等,请man nc

echo -e "GET / HTTP/1.0\r\n" | nc uc.cn 80

 
 

四层运维工具nc的更多相关文章

  1. CheungSSH国产自动化运维工具开源Web界面

    CheungSSH web2.0 发布文档 CheungSSH 简介 CheungSSH是一款国人自主研发的Linux运维自动化管理服务器软件,秉着为企业降低运营成本,解放管理员双手和自动化生产的理念 ...

  2. 自动化运维工具Ansible详细部署 (转载)

    自动化运维工具Ansible详细部署 标签:ansible 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog. ...

  3. 【运维工具】Git代码发布系统

    引言 代码发布系统是互联网公司必备的运维系统,作用主要用户发布业务代码 到 业务服务器 为什么需要代码发布系统 有的同学可能说,我们公司服务器就那么一台,做个发布系统太麻烦了? 不认同这说法 发布系统 ...

  4. Python自动化运维工具fabric的安装

    使用shell命令进行复杂的运维时,代码往往变得复杂难懂,而使用python脚本语言来编写运维程序,就相当于开发普通的应用一样,所以维护和扩展都比较简单,更重要的是python运维工具fabric能自 ...

  5. distri.lua的web运维工具

    我的新手游项目很快就要进入到寻找发行商的环节,最近几天相对较空闲,逐将工作重心转移到服务器组运维工具的制作上. 回想一年之前经历的那个不算成功的端游项目,因为运维工具设计得不合理,使用十分不方便,游戏 ...

  6. 自动化运维工具之 Ansible 介绍及安装使用

    一.初识Ansible 介绍: Absible 使用 模块(Modules)来定义配置任务.模块可以用标准脚本语言(Python,Bash,Ruby,等等)编写,这是一个很好的做法,使每个模块幂等.A ...

  7. 【运维工具】logrotate 日志管理神器

    服务器经常会产生各种各样的日志文件,我们需要定期清理 日志的分类 系统日志 应用日志 系统日志 例如系统的history 历史信息   crontab的运行日志  一般系统日志系统都帮我们运维好了,不 ...

  8. 自动化运维工具之ansible

    自动化运维工具之ansible   一,ansible简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fab ...

  9. 自动化运维工具Ansible详细部署 - 人生理想在于坚持不懈 - 51CTO技术博客

    自动化运维工具Ansible详细部署 - 人生理想在于坚持不懈 - 51CTO技术博客 自动化运维工具Ansible详细部署

随机推荐

  1. 几乎每个文件里面都有 #ifdef __cplusplus extern "C" { #endif 可我没找到程序里那个地方定义了__cplusplus 啊?这又是怎么回事呢?

    我们的C语言有个进化版,叫C++,这个想必楼主知道,Keil MDK是支持C++编程的,也就是说,你可以用C语言或者C++写你的程序,都可以. 但是,有一个问题,就是头文件的问题,C语言写的头文件C+ ...

  2. 算法之旅,直奔<algorithm>之十三 fill

    fill(vs2010) 引言 这是我学习总结<algorithm>的第十三篇,fill是一个很好的初始化工具.大学挺好,好好珍惜... 作用 fill  的作用是 给容器里一个指定的范围 ...

  3. DevExpress GridControl GridView 导出到 Excel 类

    说明: 1>GridView 导出到 Excel (如果分页,只导出当前页数据) 2>GridView 导出到 Excel 3>方法2可以参考DataTable 导出到 Excel ...

  4. AngularJS开发下一代Web应用笔记(一)

    一.写在最前 AngularJS是Google推出的一款Web应用开发框架.它提供了一系列兼容性良好并且可扩展的服务,包括数据绑定.DOM操作.MVC设计模式和模块加载等. 现在网上JS框架茫茫多,真 ...

  5. cocos2d-x触屏事件(单点触屏)

    转自:http://blog.csdn.net/onerain88/article/details/7550009 一般经常用到的触屏的情况有两种:一种是Layer统一接收触屏消息,然后由程序根据需要 ...

  6. ListView视图缓存错位问题

    由于之前写Scroller应用:ListView滑动删除遇到Item视图错位问题,观察发现第1item位置改变后,第1+10的item布局也跟着改变.假设使用ScrollView+ListView,把 ...

  7. Codeforces 439D Devu and his Brother 三分

    题目链接:点击打开链接 = - =曾经的三分姿势不对竟然没有被卡掉,,,太逗.. #include<iostream> #include<string> #include< ...

  8. android107 指针入门

    #include <stdio.h> #include <stdlib.h> //指针就是内存地址 //32为操作系统最大是4G内存,32为系统则是2的32次方, //所以只能 ...

  9. systemtap 技巧系列 +GDB

    http://blog.csdn.net/wangzuxi/article/category/2647871

  10. LINUX 系统备份

    系统备份是系统管理工作中十分重要的一个环切,本文详细介绍了各种Linux系统的备份方法,相信对大家的日常管理工作有所帮助. 备份是一项重要的工作,但是很多人没有去做.一旦由于使用不当造成数据丢失,备份 ...