linux中测端口通讯nc,linux命令之 - nc 测试端口的连通
简介
nc是netcat工具的命令,是一个很好用的网络工具。比如,可以用来端口扫描,文件传输等网络功能。
命令帮助
nc -h
GNU netcat 0.7.1, a rewrite of the famous networking tool.
Basic usages:
connect to somewhere: nc [options] hostname port [port] ...
listen for inbound: nc -l -p port [options] [hostname] [port] ...
tunnel to somewhere: nc -L hostname:port -p port [options]
Mandatory arguments to long options are mandatory for short options too.
Options:
-c, --close close connection on EOF from stdin
-e, --exec=PROGRAM program to exec after connect
-g, --gateway=LIST source-routing hop point[s], up to 8
-G, --pointer=NUM source-routing pointer: 4, 8, 12, ...
-h, --help display this help and exit
-i, --interval=SECS delay interval for lines sent, ports scanned
-l, --listen listen mode, for inbound connects
-L, --tunnel=ADDRESS:PORT forward local port to remote address
-n, --dont-resolve numeric-only IP addresses, no DNS
-o, --output=FILE output hexdump traffic to FILE (implies -x)
-p, --local-port=NUM local port number
-r, --randomize randomize local and remote ports
-s, --source=ADDRESS local source address (ip or hostname)
-t, --tcp TCP mode (default)
-T, --telnet answer using TELNET negotiation
-u, --udp UDP mode
-v, --verbose verbose (use twice to be more verbose)
-V, --version output version information and exit
-x, --hexdump hexdump incoming and outgoing traffic
-w, --wait=SECS timeout for connects and final net reads
-z, --zero zero-I/O mode (used for scanning)
Remote port number can also be specified as range. Example: '1-1024'
端口扫描
我们经常需要扫描端口是否开放,来判断访问策略是否生效,或者服务是否正常。
nc -z -w -v -n -t 192.168.1.100 1-2000
-z 表示连接立即关闭,不进行数据交换。
-v 表示输出检测结果,-vv表示更详细的信息
-w 表示执行超时时间,如果不指定就是tcp超时的时间
-n 表示不反向解析IP地址的域名
-t 表示TCP检测,默认就是TCP检测;如果需要检测UDP,需要制定-u的参数
文本传输
我们可以通过nc命令监听一个端口,来接受客户端的会话连接。
nc -l -t -p 9000
-l 表示启动监听
-p 表示监听端口,如果不指定会监听一个随机端口
-t 表示TCP检测,默认就是TCP检测;如果需要检测UDP,需要制定-u的参数
客户端连接
nc 127.0.0.1 9000
这时候客户端输入文本信息回车就可以发送到服务端。这个通讯是单线的,一旦有人连接,第二个会话就连接不上。
文件传输
服务端传输
nc -l -p 9000 < a.txt
客户端接收
nc 192.168.1.100 > a.txt
如果是大文件可能传输比较久,可以通过md5对比来查看文件是否传输完成
同理,也可以是客户端传输到服务端,只要重定向符号换一下即可。
目录传输
目录需要先经过打包成数据流才能进行传输
服务端:
tar -cvf - ddd/ | nc -l -p 9000
客户端:
nc -n 192.168.1.100 9000 | tar -xvf -
也可以进行压缩以后再传输
服务端:
tar -cvf - ddd/ | bzip2 -z | nc -l -p 9000
客户端:
nc -n 192.168.1.100 9000 | bzip2 -d | tar -xvf -
加密传输
使用mcrypt工具加密数据
服务端:
mcrypt –flush –bare -F -q -m ecb < file.txt | nc -l -p 9000
客户端
nc 192.168.1.100 9000 | mcrypt –flush –bare -F -q -d -m ecb > file.txt
总结
nc还有很多的强大的功能,但是例如文件传输,还是用专门的工具比较好用,比较靠谱。
linux中测端口通讯nc,linux命令之 - nc 测试端口的连通相关推荐
- Linux命令备忘录: jobs 显示Linux中的任务列表及任务状态命令
Linux jobs命令用法详解:显示Linux中的任务列表及任务状态命令 jobs命令用于显示Linux中的任务列表及任务状态,包括后台运行的任务.该命令可以显示任务号及其对应的进程号.其中,任务号 ...
- [转帖]Linux中的15个基本‘ls’命令示例
Linux中的15个基本'ls'命令示例 https://linux.cn/article-5109-1.html ls -lt 和 ls -ltr 来查看文件新旧顺序. list time rese ...
- Linux中sudo、su和su -命令的区别
Linux中sudo.su和su -命令的区别小结 我们知道,在Linux下对很多文件进行修改都需要有root(管理员)权限,比如对/ect/profile等文件的修改.下面这篇文章主要给大家总结介绍 ...
- linux中cat、more、less命令区别详解
linux中cat.more.less命令区别详解 转自:https://blog.csdn.net/xyw_blog/article/details/16861681 众所周知linux中命令cat ...
- Linux中解压zip包的命令是什么?
Linux系统里的zip是一种创建压缩存档文件的常用方式,同时也是一种传统的文件归档文件格式,那么Linux中解压zip包的命令是什么?Linux解压zip包的命令是:unzip,该命令主要用于查看和 ...
- linux中用zip压缩文件,详解Linux中zip压缩和unzip解压缩命令及使用详解
下面给大家介绍下Linux中zip压缩和unzip解压缩命令详解 1.把/home目录下面的mydata目录压缩为mydata.zip zip -r mydata.zip mydata #压缩myda ...
- linux中zip文件解压命令,Linux中zip压缩和unzip解压缩命令使用方法
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统.在Linux中,我们可以利用命令进行文件压缩,即zip压缩和unzip解压缩,这篇文章主要介绍了详解Linux中zi ...
- linux more 乱码,Linux 中vim/more/cat/tail/head 命令查看文件显示乱码
Linux 中 vim/more/cat/tail/head 命令查看文件显示乱码,乱码原因:Linux默认字符集码为 UTF-8 ,有些其它字库未安装 解决方法: 1)临时解决方法将当前文件强制使用 ...
- linux打印系统时间命令行,linux中多种查看系统时间的命令
原标题:linux中多种查看系统时间的命令 介绍linux中多种查看时间的方法 1.date 这个是最经典的系统查看时间的命令,也是脚本的经常用到定义时间的命 [root@localhost ~]$ ...
- linux压缩命令zip详解,Linux中zip压缩和unzip解压缩命令详解
如果你的英文足够好,那完全可以不靠任何人就精通linux,只要你会用man.Man实际上就是查看指令用法的help,学习任何一种UNIX类的操作系统最重要的就是学会使用man这个辅助命令.接下来是小编 ...
最新文章
- #pragma once 是什么意思?
- 从封装函数到实现简易版自用jQuery (一)
- 学习“Perl基础教程:正则表达式”之摘录
- 通过反汇编来理解restrict关键字
- angular中的href=unsafe:我该怎么摆脱你的溺爱!!
- LeetCode 935. 骑士拨号器(动态规划)
- 思科路由器端口映射配置实例
- Altium Designer设计PCB总结(干货)
- 2022考研资料每日更新(2021.05.07)
- C语言入门(一):基础语法
- lol大区服务器维护,LOL官宣“扩容升级”服务器,排队时间将大大减少,电一玩家喜大普奔!...
- Centos搭建服务
- 2023年医院常用医疗设备维修培训计划
- android聊天界面对话气泡_聊天会话框气泡(示例代码)
- ROS2学习笔记27--实现自定义内存分配器
- 事业编招聘:共青团市委所属事业单位2022年公开招聘公告
- python-数据思维
- 论文阅读之A Challenge Dataset and Effective Models for Aspect-Based Sentiment Analysis(2019)
- Java常用记录工具_Java常用的性能测试工具记录
- cocos2dx 苹果5分辨率 适配错误