萬用的 curl 模擬各種訪問狀況、檢測訪問速度

2016-04-08 CentOS

curl 在我的工作上幫助非常大,同時他也是資安測試的好工具,在這邊專門介紹我使用 curl 時會使用到的檢測方式

 

  • -w 檢測網站回應速度
    • 一行指令
curl -o /dev/null -s -w "%{time_namelookup},%{time_connect},%{time_starttransfer},%{time_total}" http://www.google.com
    • Script
$ vim curl-speed.sh
#!/bin/bash                                                                                                           
URL=$1

curl -o /dev/null -s -w \
"DNS Resolve: %{time_namelookup}\n\
Client -> Server: %{time_connect}\n\
Server Respon: %{time_starttransfer}\n\
Total time: %{time_total}\n" \
"${URL}"

$ ./curl-speed.sh www.google.com
DNS Resolve: 0.035
Client -> Server: 0.040
Server Respon: 0.069
Total time: 0.069

time_namelookup = DNS 解析時間
time_connect = 建立伺服器 TCP 所花的時間
time_starttransfer = 伺服器 return 的第一個字節
time_total = 整個請求的花費時間

 

  • -o 將網頁內容輸出 file
$ curl -o index.html http://www.google.com

 

  • -x 指令 http 使用 proxy server
$ curl -x 192.168.30.30:8080 http://www.google.com

 

  • -D 把 http response cookie 輸出 file
$ curl -D cookie.txt http://www.google.com

 

  • -A 自定義偽裝 user-agent
$ curl -A "TEST" http://www.google.com

 

  • -e 設定 referrer,簡單來說就是偽裝訪問頁面的來路URL
$ curl -e http://shazi.info http://www.google.com

這樣 www.google.com 的 referrer 就會誤以為是從 http://shazi.info 連過來的。

 

  • -O 下載檔案,用 -c 來續傳
$ curl -O http://fileserver/file1.zip
$ curl -O -c http://fileserver/file1.zip

 

  • -r 分段下載
#!bin/bash

FILE="file1.zip"
URL="http://fileserver/${FILE}"

curl -r 0-10240 -o "${FILE}.part1" ${URL} &\
curl -r 10240-20480 -o "${FILE}.part2" ${URL} &\
curl -r 20480-40960 -o "${FILE}.part3" ${URL} &\
curl -r 40960- -o "${FILE}.part4" ${URL}

合併

$ cat file1.zip.part* > file1.zip

 

  • -u 指定登入使用者
$ curl -u user:passwd ftp://fileserver

 

  • -T 上傳檔案,使用 HTTP put method 協議
$ curl -T file1.zip -u user:passwd ftp://fileserver

or
$ curl -T file1.zip http://fileserver

 

  • 使用 GET mode,直接在 url 加入參數
$ curl http://www.google.com/login.php?user=scott&passwd=0000

 

  • -d 使用 POST mode
$ curl -d "user=scott&password=0000" http://www.google.com

 

  • -E HTTPS 使用憑證
$ curl -E ssl.pem https://www.google.com

 

  • 使用 dict 查詢字典
$ curl dict://server/d:computer

 

給 Mr. 沙先生一點建議

彙整

分類

展開全部 | 收合全部

License

訂閱 Mr. 沙先生 的文章

輸入你的 email 用於訂閱