netcat可以实现的功能
1.连接目标主机的端口
作为客户端连接
nc -vn
连接目标主机,并参数v表示显示详细信息,n为不要进行域名解析(因为使用nc来进行域名解析速度较慢,加了n后面必须加ip地址)
例如 :
想要连接163的pop3服务器,先通过ping命令得到其ip地址
之后将ip地址作为参数进行连接
连接163的pop3服务器的110 端口
提示该端口号打开着,并且收到了来自服务器的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