Nc命令,“瑞士军刀”在网络工具中理解?

发布者:上海IT外包来源:http://www.lanmon.net点击数:1337

前言
我已经介绍了一个无法识别的网络命令-netstat。我今天在网络工具行业推出了“瑞士军刀”-nc(netcat)。它简短而精致,是一种网络调试工具。它怎么能抵抗?
检查端口是否被占用。
还记得我们如何看待netstat中被占用的端口吗?也可以这样做。它使用-l(listen)参数绑定指定的端口并侦听连接:
$ nc -l 6379
Nc:地址已在使用中
当您看到地址已在使用中时,您知道该端口已被占用,否则它将侦听此端口。当然,这个效果就是我所说的,但可以使用它。
端口扫描
例如,您需要扫描21-30在计算机上打开的端口:
$ nc -n 127.0.0.1 -z 1230-1234 -v
Nc:连接到127.0.0.1端口1230(tcp)失败:连接被拒绝
Nc:连接到127.0.0.1端口1231(tcp)失败:连接被拒绝
Nc:连接到127.0.0.1端口1232(tcp)失败:连接被拒绝
Nc:连接到127.0.0.1端口1233(tcp)失败:连接被拒绝
连接到127.0.0.1 1234端口[tcp/*]成功!
其中-n表示直接使用ip地址而不是域名,-z指定端口范围,-v输出详细信息。从结果中可以看出,端口1234是可连接的。
TCP/UDP连接测试
在学习与TCP相关的内容时,您是否想练习如何自己观察状态或数据包?虽然建议编写TCP连接的服务器 - 客户端程序,但也可以使用nc命令完成,例如,在终端中输入以下内容:$ nc -l 1234
你好编程珠子
表示端口正在侦听端口1234,然后可以在另一个终端连接;
$ nc 127.0.0.1 1234
你好编程珠子
连接到本地地址1234端口。在此过程中,您可以捕获数据包并分析TCP的三次握手。
此外,您还可以在已建立的连接之间发送消息(简单聊天功能),让您分析更多!
默认情况下,它会创建TCP连接并使用-u(UDP)参数来测试UDP连接。
$ nc -v -u 182.3.226.35 80
连接到182.3.226.35 80端口[udp/http]成功!
除此之外,还有许多用于调试的参数,例如:
-b允许广播消息
-D打开套接字调试模式
-d禁止从标准输入读取
-k在客户端退出后保持连接状态
-v显示细节
由于将在以下文章中由nc解释,因此这里不再解释。
HTTP连接测试
例如,查看HTTP标头信息:
$ nc www.baidu.com 80
HEAD/HTTP/1.1
找到HTTP/1.1 302
连接:保持活跃
内容长度: 17931
内容类型: text/html
日期:太阳,2019年6月23日13: 52: 12 GMT
Etag:'54d9748e-460b'
服务器: bfe/1.0.8.18
连接后,键入HEAD/HTTP/1.1或HEAD/HTTP/1.0并输入两个回车符以查看有关Web服务器的信息。
数据传输
或者使用以前的连接,使用重定向符号传输文件,例如服务器端监视,并将内容输出到out.txt:
$ nc -l 1234>
Out.txt
和客户端连接:
$ nc 127.0.0.1 1234 客户端in.txt的内容将转移到out.txt。
有关重定向,请参阅《如何linux shell中的2 > &1》
当然,对于文件传输,scp命令可以更好地完成此操作。如果您没有其他选择,可以尝试使用nc。
网络测试
如前所述,数据可以通过nc传输。同样,如果我们想测试两台主机之间的网络速度(当然你可以使用iperf工具来做到这一点),nc也可以帮助:#服务端听:
$ nc -vl 1234>
的/dev/null的
重定向到/dev/null意味着丢弃数据。
IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部