本文适合Linux入门用户阅读


目录

記事

如何通过SSH连接到服务器?

非常简单,你只需要下载一个TermiusXterm等SSH工具。或者,你也可以不安装任何SSH工具,直接使用Microsoft Windows自带的CMDPowerShell来进行连接。要通过SSH连接到服务器,服务器的基本信息是必须要拥有的,你可以在此处查看你的服务器信息:你需要其中的:公网地址系统密码,并且其主机状态必须是Running。得到这些信息之后,我们就可以开始连接了。这里使用Termius来进行演示:
第一步:点击黄色高亮部分的+NEW HOST
第二步:填入服务器信息,示例:第三步:连接SSH,点击当你能看见如下内容时,则代表连接成功:

如何安装宝塔管理面板?

首先确定自己服务器的系统,你可以在此处确定:然后根据系统类型,选择其合适的安装脚本:
Ubuntu:

copy
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

Debian:

copy
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

CentOS:

copy
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

安装完成后,打开控制面板,选择LNMP,安装模式选择编译安装。安装完成后,转到软件商店,搜索fail2ban并安装,这可以阻止大部分SSH爆破

如何建立一个网站?

首先解析域名至服务器,类型选择A,比如:完成后,打开宝塔管理面板,转至网站,点击添加网站按照你的实际情况进行填写,比如只是一个静态网页:填写完成后,点击提交。此时打开你的网站,你就可以看见宝塔的默认文档了。

如何使用Curl?

curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。如果操作熟练, 完全可以取代部分图形浏览器的功能。不带有任何参数时,curl 就是发出 GET 请求:

copy
curl https://www.typeboom.com/

上面命令向www.typeboom.com发出 GET 请求,服务器返回的内容会在命令行输出。
-A参数指定客户端的用户代理标头,即User-Agent。curl 的默认用户代理字符串是curl/[version]

copy
curl -A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' https://www.typeboom.com/

上方的命令以Chrome浏览器为User-Agent向www.typeboom.com发送了GET请求。

copy
curl -A '' https://www.typeboom.com/

上方的命令以无User-Agent的方式向www.typeboom.com发送了GET请求。(大多数网站所使用的CDN的内置WAF会屏蔽)

copy
curl -H 'User-Agent: php/1.0' https://www.typeboom.com/

上方的命令使用了-H参数直接指定标头,更改了User-Agent并向www.typeboom.com发送了GET请求。
使用-b参数向服务器发送 Cookie。

copy
curl -b 'foo=bar' https://www.typeboom.com/

上方的命令会生成一个标头Cookie: foo=bar,向服务器发送一个名为foo、值为bar的 Cookie。

copy
curl -b 'foo1=bar;foo2=bar2' https://www.typeboom.com/

上方的命令向服务器发送了Cookie: foo=barCookie: foo2=bar2两个Cookie。

copy
curl -b cookies.txt https://www.typeboom.com/

上方的命令读取并向服务器发送了Cookie.txt中的Cookie。
使用-c参数将服务器返回的Cookie保存至某个文件。

copy
curl -c cookies.txt https://www.typeboom.com/

上方的命令将服务器返回的Cookie保存至了Cookie.txt文件中。
使用-d参数向服务器发送POST请求的数据体。

copy
curl -d'login=admin&password=123'-X POST https://www.typeboom.com/admin/
# 或者
curl -d 'login=admin' -d 'password=123' -X POST  https://www.typeboom.com/admin/

上方的命令向服务器发送(POST)了login=admin&password=123。但是使用-d参数以后,HTTP 请求会自动加上标头Content-Type : application/x-www-form-urlencoded。并且会自动将请求转为 POST 方法,因此可以省略-X POST
和发送Cookie类似,-d参数同样可以读取本地文本文件的数据,向服务器发送。

copy
curl -d '@data.txt' https://www.typeboom.com/

上方的命令向服务器发送(POST)了data.txt文件中的数据。
--data-urlencode参数相当于-d参数,但是会自动对发送的内容进行URL(统一资源定位器)编码。

copy
curl --data-urlencode 'comment=Cross the Great Wall and go to the world' https://www.typeboom.com/

上方的命令中,要向服务器发送的命令存在无法直接读取的空格,需要被URL编码。
-e参数用来设置 HTTP 的标头Referer,表示请求的来源。

copy
curl -e 'https://ArtemisNet.net/' https://www.typeboom.com/

上方的命令设置 HTTP 的标头为https://ArtemisNet.net/,向服务器发送了GET请求。
这在某些启用了防盗链(HotLink保护)且禁止以空Referer的方式的服务器上很管用。
-H参数可以通过直接添加标头Referer,达到同样效果。

copy
curl -H 'Referer: https://ArtemisNet.net/' https://www.typeboom.com/

上方的命令使用-H参数设置Refererhttps://ArtemisNet.net/向服务器发送了GET请求。
-F参数用于向服务器发送二进制文件。

copy
curl -F 'file=@photo.webp' https://www.typeboom.com/

上方的命令会给HTTP请求加上标头Content-Type: multipart/form-data并将文件photo.webp作为file字段发送(POST)至了服务器。
-F参数同样也可以指定MINE类型:

copy
curl -F 'file=@photo.webp;type=image/png' https://www.typeboom.com/

上方的命令指定 MIME 类型为image/png,否则 curl 会把 MIME 类型设为application/octet-stream
-F参数同样也可以指定文件名。

copy
curl -F 'file=@photo.webp;filename=cat.webp' https://www.typeboom.com/

上方的命令将文件photo.webp发送(POST)至了服务器,但是服务器收到的文件的名称为cat.webp
-G参数用于构造URL(统一资源定位器)的查询字符串。

copy
curl -G -d 'Workers' https://www.typeboom.com

上方的命令向服务器发送了一个GET请求,请求的URL为:https://www.typeboom.com?=Workers
如有数据需要URL编码,可以结合--data--urlencode参数。跳转至上文中对此参数的解释
-H参数可以添加HTTP请求标头。

copy
curl -H 'Accept-Language: zh-CN' https://www.typeboom.com/

上方的命令添加了HTTP请求标头:Accept-Language: zh-CN并向服务器发送了GET请求。

copy
curl -H 'Accept-Language: zh-CN' -H 'Secret-Message: FUNCDN-sucks' https://www.typeboom.com/

上方的命令添加了两个HTTP请求标头:Accept-Language: zh-CNSecret-Message: FUNCDN-sucks并向服务器发送了GET请求。

copy
curl -d '{"login": "admin", "pass": "123"}' -H 'Content-Type: application/json' https://www.typeboom.com/admin

上方的命令添加了HTTP请求标头:Content-Type:application/json并使用-d参数向服务器发送(POST)了json数据。
-i参数将打印出服务器回应的HTTP标头。

copy
curl -i https://www.typeboom.com/

上方的命令将会在终端打印出服务器回应的HTTP标头后,换行再打印出服务器返回的网页源码。 -I参数将向服务器发送HEAD请求并打印出服务器回应的HTTP标头。

copy
curl -I https://www.typeboom.com/

上方的命令将会在终端打印出服务器对HEAD请求的回应。
--head参数等同于-I参数。

copy
curl --head https://www.typeboom.com/

上方的命令同样将会在终端打印出服务器对HEAD请求的回应。
-k参数将会禁用SSL证书校验。

copy
curl -k https://www.typeboom.com/

上方的命令向服务器发送了GET请求,但不检查SSL证书的有效性。
-L参数将允许所发出的HTTP请求跟随服务器的重定向,如果不设置此参数,CURL将默认不跟随重定向。

copy
curl -L https://www.typeboom.com/

上方的命令向服务器发送了GET请求,但允许跟随服务器的重定向。
--limit-rate参数将限制HTTP请求和回应的带宽。

copy
curl --limit-rate 500k https://www.typeboom.com/

上方的命令向服务器发送了GET请求且限制其所使用的带宽速度为每秒500千字节(KiB)。
-o参数将服务器的回应保存为文件,约等于wget命令。

copy
curl -o speedtest-12.7m.png https://img.typeboom.com/pic/speedtest-12.7m.png

上方的命令向服务器发送了GET请求,并将服务器的回应保存为speedtest-12.7m.png
-O参数将服务器的回应保存为文件,并将URL(统一资源定位器)中的最后一部分作为文件名。

copy
curl -O https://img.typeboom.com/pic/speedtest-12.7m.png

上方的命令向服务器发送了GET请求,并将服务器的回应保存为speedtest-12.7m.png
-s参数将不输出错误和进度信息。

copy
curl -s https://www.typeboom.com/

上方的命令向服务器发送了GET请求,如果不发生错误,将仅输出正常的运行结果。
结合-o /dev/null参数,可使CURL不输出任何信息,此参数的意思为:“将文件写入/dev/null”,/dev/null在类Unix系统中是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功)。

copy
curl -s -o /dev/null https://www.typeboom.com/

上方的命令向服务器发送了GET请求,但不会输出任何信息。
-u参数可以设置服务器认证的用户名以及密码。

copy
curl -u "bob:12345" https://www.typeboom.com/admin

上方的命令设置用户名为bob,密码为12345,然后将其转为HTTP标头Authorization: Basic Ym9iOjEyMzQ1
-v参数将会输出CURL与服务器通信的全过程。
--trace参数将会输出CURL与服务器通信的全过程,并且输出原始的二进制数据。
-x参数可以指定HTTP请求使用的代理。

copy
curl -x socks5://admin:123@127.0.0.1:2081 https://www.typeboom.com/

上方的命令通过位于127.0.0.1:2081的Socks5代理其用户名为admin密码为123,向服务器发出了GET请求。
如果不指定代理类型,CURL将默认采用HTTP代理协议。

copy
curl -x admin:123@127.0.0.1:2082 https://www.typeboom.com/

上方的命令通过位于127.0.0.1:2081的HTTP代理其用户名为admin密码为123,向服务器发出了GET请求。
-X参数可以指定HTTP请求方法。

copy
curl -X POST https://www.typeboom.com/

上方的命令向服务器发送了POST请求。

捷径·   & 回到TabbyCloud  ·   &Looking Glass  ·