nc
nc命名netcat,直译为网络猫。在CentOS 7查看帮助的解释如下所示:
翻译过来就是可以连接和重定向Sockets。通过查询其他资料,可以看到nc命令功能确实非常多,它可以打开TCP连接,发送UDP包,监听TCP/UDP端口,进行端口扫描等等。
基本语法
常用参数如下所示:
示例
1.实现QQ的功能
在本地终端监听一个端口
在另一台服务器中输入以下命令建立连接
在任何一个服务器上输入的信息都将发送到另一台服务器上面
2.端口扫描
在Linux中虽然有专业的端口扫描端口工具,如nmap,但如果我们只想知道端口是否处理开放状态,nc命令其实也是可以胜任的。下面演示就是扫描本机端口20-25
当连接到服务器上的某个端口时,监听该端口的服务会传送一个Banner(类似于一条欢迎消息)信息,这个Banner一般都会显示自身程序的版本号等信息。而黑客就要可以利用这些信息做入侵策略。从上面我们可以看到22端口处于开放状态,因此我们就可以获取端口22的Banner信息
从上面信息可以看到SSH的版本,如果这个版本的SSH有漏洞的话,就可以被黑客给利用了。
3.传输文件
在Linux传输文件,通常使用FTP和SCP,为什么还需要使用nc命令了?其实nc命令传输文件有其独有的优势,即只需要选择一个端口就可以在两台服务器间传输文件,而不需要进行任何配置,也不需要像FTP和SCP那样验证用户名和密码等信息。
在文件的发送端,启动监听端口并准备好相应的文件
在文件的接收端,使用以下命令接收数据
此时在发送端可以看到如下信息
4.传输文件夹
如果需要传输多个文件或文件夹,nc是不是就无法完成了?这时就需要使用tar命令了。
使用管道技术,将tar的输出通过管道传给nc
在客户端连接9999端口,然后将接收到数据通过tar解压
领取专属 10元无门槛券
私享最新 技术干货