netcat——nc

netcat可以实现的功能

在这里插入图片描述

1.连接目标主机的端口

作为客户端连接
nc -vn
连接目标主机,并参数v表示显示详细信息,n为不要进行域名解析(因为使用nc来进行域名解析速度较慢,加了n后面必须加ip地址)
例如 :
想要连接163的pop3服务器,先通过ping命令得到其ip地址
之后将ip地址作为参数进行连接
连接163的pop3服务器的110 端口
111111

在这里插入图片描述
提示该端口号打开着,并且收到了来自服务器的Welcome的回复
还可以得知 该服务器基于coremail系统
在这里插入图片描述
连接主机的80端口,之后可以使用一些http请求,将页面信息请求过来
也可以作为服务器端连接客户端,方法一样

2.实现文本信息的传递

nc -l -p 333

在10.1.1.12上打开333端口
在这里插入图片描述
确定333端口已经打开
在另一台主机上输入

nc -nv 10.1.1.12 333

来连接10.1.1.12 主机的333端口
在这里插入图片描述
连接成功后,就可以实现文本的传输
在这里插入图片描述
文本传输的应用于电子取证
电子取证是指:

随着计算机犯罪个案数字不断上升和犯罪手段的数字化,搜集电子证据的工作成为提供重要线索及破案的关键。恢复已被破坏的计算机数据及提供相关的电子资料证据就是电子取证。

电子取证原则:尽量少的修改计算机的状态,避免破坏证据
方法:
1.自己的主机先侦听333端口

nc -l -p

2.对已经被入侵的主机进行取证
在这里插入图片描述
将当前目录下的文件信息 发送到10.1.1.12 的333端口上
3.收到信息
在这里插入图片描述
4. 当取证的信息太大想直接保存时

本地主机侦听端口,将得到的信息在保存到ps.txt文件中
在这里插入图片描述

在要取证主机执行下列命令 来得到取证主机的系统进程

ps aux | nc -nv 10.1.1.12 333 -q 1  #q意为 在命令完成后 推迟几秒 退出 后要加参数

因为该命令输入后无提示因此需要使用 -q 命令 提示已经执行命令

在这里插入图片描述
2.利用nc实现文件的传输
举例 :想把主机a(192.168.31.113)的文件A 传输到主机b(192.168.31.213)中,并且以B命名进行保存
1.主机b侦听端口333,并将端口上传输过来的内容以B命名

在主机B上输入(侦听自己的333端口 并将侦听到的输出到B.mp4文件中)

nc -lp 333 >B.mp4

主机A上输入

 cd 桌面/
nc -nv 192.168.31.213 333 < A.mp4 -q 1

第二种传输方式
主机a侦听端口,并将文件1.mp4放到端口中
nc -lp 333 < 1.mp4 -q 1
主机b连接该端口时 自动接收该文件并以2.mp4的文件名保存
nc -nv 192.168.31.113 > 2.mp4
3.利用nc实现目录的传递
主机A侦听端口 ,并将文件进行打包

tar -cvf -music/ | nc -lp 333 -q 1 

主机B连接端口,并发送目录

nc -nv 192.168.31.113 333 | tar -xvf -

4.端口扫描

nc -nvz ip地址 端口范围

扫描192.168.31.113主机上的 1-65535端口

nc -nvz 192.168.31.113 1-65535

在这里插入图片描述
发现333端口是打开的

nc使用的是tcp进行端口探测
参数u使用udp

nc -nvzu 192.168.31.113 333

6.远程克隆硬盘
收集目标主机硬盘内存信息 网络连接 进程信息等等(电子取证第一步)
这个不会是像只拷贝文件那么简单,而是以块的方式,将整个磁盘拷贝下来,因此有恢复目标主机已经删除的文件的可能

A: nc -lp 333 | dd of=/dev/sda
B: dd if=/dev/sda | nc -nv 1.1.1.1 333 -q 1	
### 不同操作系统上的Netcat安装指南 #### 在基于Debian/Ubuntu的Linux发行版上安装Netcat 对于这些系统,可以利用包管理器`apt-get`来轻松安装Netcat。由于存在两种不同的Netcat版本——传统的GNU版本(netcat-traditional)和来自OpenBSD的增强版本(netcat-openbsd),可以根据需求选择其中之一进行安装[^4]。 ```bash sudo apt-get update sudo apt-get install netcat-openbsd # 或者 sudo apt-get install netcat-traditional ``` #### 在Red Hat/CentOS/Fedora Linux发行版上安装Netcat 针对这类采用RPM包管理系统操作系统的用户来说,能够通过yum或dnf命令完成Netcat软件包的获取与部署工作[^3]。 ```bash sudo yum install nc # 对于CentOS/RHEL 7及更早版本 # 或者 sudo dnf install nc # 针对Fedora以及较新的CentOS/RHEL版本 ``` #### 在Kali Linux中安装Netcat 考虑到Kali Linux作为一款专门面向渗透测试的操作系统,默认情况下可能已经预装了Netcat工具;如果未预先安装,则同样支持使用上述提到的方法来进行安装。 #### 在macOS上安装Netcat Mac用户通常会发现Netcat已经被内置于其系统之中。不过为了获得最新特性或是特定版本的支持,借助Homebrew这样的第三方库管理工具也是一种不错的选择。 ```bash brew install nmap # Homebrew中的nmap公式包含了netcat组件 ``` #### Windows平台下的Netcat安装方法 虽然Windows本身提供了PowerShell等现代替代方案,但对于那些偏好传统Unix风格网络调试工具的人来说,在Windows环境下运行原生的Netcat仍然是可行的。这一般涉及到从互联网下载适用于Win32架构的可执行文件并将其放置到合适的目录下以便随时调用[^1]。 ```powershell Invoke-WebRequest -Uri "http://example.com/path/to/win_nc.exe" -OutFile "$env:SystemRoot\System32\nc.exe" ``` 请注意以上链接仅为示意用途,请访问官方资源站点或其他可信来源处寻找安全可靠的二进制分发包。 安装完毕之后,可通过输入`nc --help`或`netcat --help`指令确认程序是否正常运作,并查看可用选项列表[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值