但是这种方法是不是不太安全?
不,如果您使用https. 当您使用时,HTTPS您的完整交易将被加密。但是正如@Esa 提到的那样,它在本地是不安全的,您可以避免space在命令之前添加a,这样该命令就不会出现在您的命令历史记录中。如果您担心将命令暴露给其他用户,那么ps强化/proc会帮助您。按照链接启用hidepid。
是一次发送所有数据,还是先建立一个安全连接,curl然后才发送USERNAMEand ?PASSWORD
否curl不会一次发送所有数据。像其他SSL/TLS连接一样,curl将在传递任何数据之前启动SSL握手。
您可以检查您的数据是如何传输的tcpdump,tshark或者Wireshark如下所示,(运行后tcpdump/tshark,运行curl命令)
TCPDUMP
[root@arif]# tcpdump -i eth0 -n src host 192.168.1.1 and dst host 192.168.1.2 and port 443 -XX
在哪里,
-i:用于侦听在这种情况下的特定接口 eth0
src host: 指定源ip地址
dst host: 指定目的地ip地址
port:指定连接443的默认端口SSL。您可以根据您的要求进行更改。
XX:用于以 HEX 和 ASCII 显示报头、数据包内容和链路级报头。
gibberish几个数据包后,您将开始看到内容。您还可以grep使用以下命令从数据包中获取密码,
[root@arif]# tcpdump -li eth0 -n src host 192.168.1.1 and dst host 192.168.1.2 and port 443 -XX | grep 'password'
如果您的密码出现在那里,那么您的密码在传输之前没有被加密。否则,你没事。
鲨鱼
[root@arif]# tshark -O tls "ip src 192.168.1.1 and ip dst 192.168.1.2" -x
在哪里,
您也可以grep使用上述命令输入密码。