报错代码:
> scp test.txt 192.168.0.1:
scp: dest open "./test.txt": Failure
scp: failed to upload file test.txt to .
(补充:这里以将 test.txt 文件传到 IP 地址 192.168.0.1 同名用户的家目录然后报错为例)
分析:
可能是目标目录的空间不够了
解决方法:
在目标目录上释放一些空间
> scp test.txt 192.168.0.1:
scp: dest open "./test.txt": Failure
scp: failed to upload file test.txt to .
(补充:这里以将 test.txt 文件传到 IP 地址 192.168.0.1 同名用户的家目录然后报错为例)
可能是目标目录的空间不够了
在目标目录上释放一些空间
# tcpdump -s 0 -i INTERFACE -w /tmp/tcpdump.pcap
(补充:这里以生成名为 /tmp/tcpdump.pcap 的 TCP 报告为例)
# strace -fvttTyy -s 4096 -o /tmp/strace.log
(补充:这里以生成名为 /tmp/strace.log 的追踪报告为例)
# mount -vvv -t cifs -o username=<share user>,password=<share password>,domain=<share domain> //<share folder> /mnt
(补充:这里以挂载 Samba 目录为例)
(注意:在本文章中,在前面生成的 TCP 报告是 /tmp/tcpdump.pcap 追踪报告是 /tmp/strace.log)
# ncat 192.168.0.1 80
(补充:这里以连接 IP 地址 192.168.0.1 的 80 端口为例)
# ncat --proxy 10.0.0.1:10000 --proxy-type http 192.168.0.1 22
(补充:这里以通过代理 IP 地址 10.0.0.1 的 10000 端口,代理协议是 http,连接远程 IP 地址 192.168.0.1 的 22 端口为例)
# ncat --proxy 10.0.0.1 --proxy-type socks4 --proxy-auth eternalcenter 192.168.0.1 25
(补充:这里以通过代理 IP 地址 10.0.0.1 的 1080 端口,代理协议是 socks4,代理账号是 eternalcenter,连接远程 IP 地址 192.168.0.1 的 25 端口为例)
(注意:socks4 的协议默认使用的端口是 1080)
# ncat --proxy 10.0.0.1 --proxy-type socks5 --proxy-auth eternalcenter:123 192.168.0.1 25
(补充:这里以通过代理 IP 地址 10.0.0.1 的 1080 端口,代理协议是 socks5,代理账号是 eternalcenter,代理密码是 123,连接远程 IP 地址 192.168.0.1 的 25 端口为例)
(注意:socks5 的协议默认使用的端口是 1080)
# ncat -l 8080
(补充:这里以在本地开启 8080 端口为例)
# ncat -l --proxy-type http localhost 8080
(补充:这里以在本地开启协议是 http 的 8080 端口为例)
# ncat --exec "/bin/bash" -l 8080 --keep-open
(补充:这里以在本地通过 /bin/bash 应用开启 8080 端口为例)
# ncat --exec "/bin/bash" --max-conns 3 -l 8080 --keep-open
(补充:这里以在本地通过 /bin/bash 应用开启 8080 端口最大连接数为 3 为例)
# ncat --exec "/bin/bash" -l --allow 192.168.0.0/24 8080 --keep-open
(补充:这里以在本地通过 /bin/bash 应用开启 8080 端口只允许 192.168.0.0/24 访问为例)
# ncat --sh-exec "ncat 192.168.0.1 80" -l 8080 --keep-open
(补充:这里以将本地的 8080 端口作为 IP 地址 192.168.0.1 的 80 端口为例,任何访问本地 8080 端口的流量都会指向 IP 地址 192.168.0.1 的 80 端口)
https://www.man7.org/linux/man-pages/man1/ncat.1.html
# cat /etc/passwd | grep <user>
(补充:以冒号 “:” 为分隔符,第 5 列是这个用户的描述)
# cat /etc/passwd | grep <user>
(补充:以冒号 “:” 为分隔符,第 6 列是这个用户的家目录)
# rpm -qf <homedirectory>
# cat /etc/passwd | grep <user>
(补充:以冒号 “:” 为分隔符,第 3 列是这个用户的 UID)
(注意:这里需要记住 UID,因为下个步骤需要使用)
# find / -uid <UID>
(
注意:
1) 这里的 UID,必须和上个步骤输出命令后显示的 UID 一致
2) 这里需要记住查找到的文件,因为下个步骤需要使用
)
# rpm -qf <file>
(注意:这里的文件,必须和上个步骤输出命令后显示的文件一致)
# rpm -q --scripts `rpm -qa` | grep -E '<user>|useradd'
# yum install yum-utils -y
# yumdownloader --resolve --destdir /tmp/ansible ansible
(补充:这里以将 ansible 安装包和 ansible 的依赖包下载到本地的 /tmp/ansible 目录为例)