瑞士军刀netcat

什么是netcat
netcat是网络工具中的瑞士军刀,它能通过1.TCP2.UDP在网络中读写数据。通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它。使用netcat命令所能完成的事情令人惊讶。

netcat所做的就是在两台电脑之间建立链接并返回两个数据流,在这之后所能做的事就看你的想像力了。你能建立一个服务器,传输文件,与朋友聊天,传输流媒体或者用它作为其它协议的独立客户端。

以下是一些包含在上述描述中的名称解释,如果熟悉的可以直接跳过。
1(什么是TCP:
(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内 [1] 另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换
因为TCP/IP协议的内容过多,完全可以作为一门专业课程介绍,如果有兴趣的可以通过相关书籍自行了解。

2(什么是UDP
UDP协议全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。

3(什么是数据流
数据流(data stream)是一组有序,有起点和终点的字节的数据序列。包括输入流和输出流,能够读取一个字节序列的对象称作一个输入流;而我们把能够写一个字节序列的对象称作一个输出流(个人认为输入输出流是抽象的概念,不必死磕。)

总结:简单的说,我们可以简单的认为netcat是在两台计算机中搭建一个连接平台。

相关功能选项:
在这里插入图片描述
中文解释
在这里插入图片描述

上面这些功能参数该如何使用呢,拿下面的端口扫描举例子,我要查看目标端口的状态(关闭还是开放)所以我需要显示指令执行过程。所以输入一个上述的字符
-V ,之后输入想要查看状态的目标端口和ip,如果是开放的,如下图所示显示的是open.
功能1。端口扫描:
nc -v target_IP target_Port。扫描目标ip,目标端口。在这里插入图片描述
下面对端口扫描的说明并是博主从网上找到的资料(不知廉耻!!!),个人认为对端口扫描的解释很到位,这里和大家分享。
先说什么是端口
如果把IP地址(IP地址不知道的自行百度)比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536(即:2^16)个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535。
在Internet上,各主机间通过TCP/IP协议发送和接收数据包,各个数据包根据其目的主机的ip地址来进行互联网络中的路由选择,把数据包顺利的传送到目的主机。大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据包传送给众多同时运行的进程中的哪一个呢?显然这个问题有待解决,端口机制便由此被引入进来。(这段说明不难理解,就好比此时的你正在浏览器上查询信息,同时登陆着qq,或者说正在qq上同时和两位好友聊天,这是两个同时运行着的程序,当你其中的一个好友向你发送信息时,系统改怎么从这两名好友中选择正确的一方呢?这就需要引入端口机制。)本地操作系统会给那些有需求的进程分配协议端口(protocol port,即我们常说的端口),每个协议端口由一个正整数标识,如:80,139,445,等等。当目的主机接收到数据包后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。
然后回归正题,什么是端口扫描。
端口扫描是检查IP地址上的所有端口以查看它们是打开还是关闭的过程。端口扫描软件将检查端口0、端口1、端口2,并一直检查到端口65535。它通过简单地向每个端口发送请求响应来实现这一点。最简单的形式是,端口扫描软件向每个端口发送数据包,一次一个。一旦远程系统做出响应并说出端口是打开还是关闭的。运行端口扫描的人就可以知道哪些端口是打开的。
而这就是netcat的功能之一

功能2。聊天服务器的搭建
nc target_IP target_Port
通过监听对方的端口,如果允许的话,你可以和对方聊天。

当然也可以和本地的端口聊天。

获取shell
nc Targert_IP Targert_Port
在这里插入图片描述

netcat还有很多功能,其强大之处在于可以通过不同的参数组合实现不同的功能。因为内容过多,这里不再一一展示(展示也是抄别人的)所以说,对于netcat的熟练掌握对网络安全练习是有非常大的帮助的。希望上述简单的介绍能够为想要了解netcat的同学有所帮助。要想真正的掌握还需要多加练习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值