写久了web倦了,第n次开始尝试网络开发,于是熟悉一下常用工具。

尝试了一下netcat来测试服务器,或者充当客户端都异常好用。于是记录一下常用的一下命令

1. 充当服务器,或者客户端进行访问

通过nc建立一台服务器用于监听端口:

nc -l 9999

此时nc处于了监听状态, 我们可以开启一台客户端来访问对应接口

nc 127.0.0.1 9999

然后现在客户端向服务器发起了链接,尝试在链接中的客户端随便输入一些信息

Hello World...

可以在服务器端看到,服务器会直接输出这些信息到控制台。

2. 传输文件

首先要确保你和目标地址能够建立起连接,比如是在同一个局域网内,或者可以ip地址直接访问的云主机之类

在服务器端,我们开启一个服务器对一个端口进行监听,并且将输出的信息重定向到一个目标文件

nc -l 9999 > target_file

然后客户端找到要传输的文件

cat source_file | nc localhost 9999

传输完成之后,就可以看到服务器自动停止了。然后去找下目标文件 就已经在那里了,这个方法在局域网内传文件太方便啦。

3. 客户端超时控制

客户端超时控制 是增加一个-w选项例:

nc -w 10 localhost 9999

这里注意,在10秒内没有任何操作就会被自动断开,但是在10秒内你做了任何操作,都可以再续10秒。

4. 强制netcat服务器端保持启动状态:

如果跟着做了上面实验的话就会发现一个问题,当客户端推出之后,服务器端也会立即跟着退出。除了那个文件传输的例子以外我们不希望任何一个服务器会在客户端退出之后就立即结束服务,所以我们需要让服务器一直保持服务。

nc -k -l 9999

5. 使用netcat处理udp

Netcat在使用-l启动服务器或者发起客户端连接的时候默认使用了tcp协议,但是使用-u参数可以让他使用udp来发起连接

nc -u -l 9999  //使用udp来启动服务器

nc -u localhost 9999  //使用udp来访问服务器

另外在早些时候的版本,或者某个rewrite版本里面还有一个-e参数,用于将访问重定向到某个目标机器的应用,这么邪恶的东西我man 了一下我的nc没有发现。可能需要另外开坑的时候去玩玩看。目前来看测试服务器的话上面的功能就够用了,访问具体url的时候 还可以借助curl来玩。linux世界的工具真是强大啊。!

Reference:

https://www.oschina.net/question/12_50469?sort=default&p=3  8 个实用的 Linux netcat 命令示例

Netcat实用操作的更多相关文章

  1. 提高开发效率的 Eclipse 实用操作

    工欲善其事,必先利其器.对于程序员来说,Eclipse便是其中的一个“器”.本文会从Eclipse快捷键和实用技巧这两个篇章展开介绍.Eclipse快捷键用熟后,不用鼠标,便可进行编程开发,避免鼠标分 ...

  2. Chrome 开发者工具实用操作

    Chrome 开发者工具实用操作 https://umaar.com/dev-tips/

  3. KiCAD实用操作

    KiCAD实用操作之一:自动编辑线宽 今天偶然间发现的一个比较实用的功能,算是KiCAD的一个优点吧(或许是在AD上面没发现):当整个PCB布完线或者在布线过程中,我们有可能需要对某个线的宽度进行调整 ...

  4. 能够提高开发效率的Eclipse实用操作

    工欲善其事,必先利其器.对于程序员来说,Eclipse便是其中的一个“器”.本文会从Eclipse快捷键和实用技巧这两个篇章展开介绍.Eclipse快捷键用熟后,不用鼠标,便可进行编程开发,避免鼠标分 ...

  5. 能够提高开发效率的 Eclipse 实用操作

    工欲善其事,必先利其器.对于程序员来说,Eclipse便是其中的一个“器”.本文会从Eclipse快捷键和实用技巧这两个篇章展开介绍.Eclipse快捷键用熟后,不用鼠标,便可进行编程开发,避免鼠标分 ...

  6. VS2019 实用操作

    本文列出了在编写程序过程中的几个非常实用的操作方式,通过这些操作方式,可以在一定程度上减少重复操作.提高编码效率.改善编程体验. 列模式操作 列操作是一项很常用且实用的功能,可以一次性修改不同的行. ...

  7. Myeclipse学习总结(8)——Eclipse实用操作

    工欲善其事,必先利其器.对于程序员来说,Eclipse便是其中的一个"器".本文会从Eclipse快捷键和实用技巧这两个篇章展开介绍.Eclipse快捷键用熟后,不用鼠标,便可进行 ...

  8. 开发工具IDE从入门到爱不释手(五)更多实用操作

    更多实用技巧 Tabs分屏和独立 日志链接及浏览器 设置浏览器 本地修改历史 三秒钟不操作,自动保存一个版本 右键--Local History--Show History 查看方法调用情况 按住方法 ...

  9. Excel实用操作

    目地 不能熟练操作Excel的程序员不是好策划. 一片区域填充相同数据 1.用鼠标框选一片区域,松开鼠标,不要点其它单元格 2.直接输入输入数据,输完之后,按Ctrl+Enter,选中的区域就会填充相 ...

随机推荐

  1. UVA12569-Planning mobile robot on Tree (EASY Version)(BFS+状态压缩)

    Problem UVA12569-Planning mobile robot on Tree (EASY Version) Accept:138  Submit:686 Time Limit: 300 ...

  2. 转://Oracle数据库补丁分析实践

    小弟我最近做了几次补丁分析,最开始分析补丁,感觉挺痛苦的,因为补丁数量多,且涉及的知识点非常非常的广,客户的要求又非常高.挺伤不起的.不过随着分析的深入,我慢慢的掌握了一些小方法.也在support网 ...

  3. 转://RMAN跨平台可传输表空间和数据库

    参考链接: http://blog.itpub.net/23135684/viewspace-776048/ http://blog.sina.com.cn/s/blog_69e7b8d7010164 ...

  4. Python:Day04

    数学运算符: +  加 -  减 *  乘 **  指数运算 /  除 //  整除 %  取余 比较运算符: >  大于 <  小于 >=  大于等于 <=  小于等于 == ...

  5. [LeetCode]最大系列(最大正方形221,最大加号标志764)

    221. 最大正方形 题目描述: 在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积. 示例: 输入: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 ...

  6. 深度学习框架PyTorch一书的学习-第六章-实战指南

    参考:https://github.com/chenyuntc/pytorch-book/tree/v1.0/chapter6-实战指南 希望大家直接到上面的网址去查看代码,下面是本人的笔记 将上面地 ...

  7. shut immediate 数据库遭遇 ORA-24324 ORA-24323

    SQL> shut immediateORA-24324: service handle not initializedORA-24323: value not allowedORA-27140 ...

  8. AI caffe

    caffe,是一个深度学习框架. Blob 存储数据. 批量图像数据(n, k, h, w):图像数量,图像通道,图像高度,图像宽度. data:值 diff:梯度 Layer data_layers ...

  9. WPF---Binding学习(一)

    转自:http://blog.csdn.net/lisenyang/article/details/18312199 1,Data Binding在WPF中的地位 程序的本质是数据+算法.数据会在存储 ...

  10. Git基础使用教程

    Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具. 之前的博客中介绍了linux下安装Git的内容,这篇博客,简单介绍下使用Gi ...