-
快速且完全可配置的網絡爬行
-
標準和無外設模式支持
-
JavaScript 解析/爬網
-
可定制的自動表單填寫
-
范圍控制 - 預配置字段/正則表達式
-
可自定義的輸出 - 預配置字段
-
輸入 - 標準輸入、URL 和列表
-
輸出 - 標準輸出、文件和 JSON
0x01 工具安裝
Katana需要Go 1.18才能成功安裝。要安裝,只需運行以下命令或從發布頁面下載預編譯的二進制文件。
go install github.com/projectdiscovery/katana/cmd/katana@latest
Docker安裝:
docker pull projectdiscovery/katana:latest
docker run projectdiscovery/katana:latest -u https://tesla.com
docker run projectdiscovery/katana:latest -u https://tesla.com -system-chrome -headless
Ubuntu安裝:
sudo apt update
sudo snap refresh
sudo apt install zip curl wget git
sudo snap install golang --classic
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
sudo apt update
sudo apt install google-chrome-stable
go install github.com/projectdiscovery/katana/cmd/katana@latest
0x02 工具使用
Katana需要URL或端點進行爬網,并接受單個或多個輸入。
可以使用-u 選項提供輸入 URL,可以使用逗號分隔的輸入提供多個值,同樣使用-list 選項支持文件輸入,并且還支持額外的管道輸入 (stdin)。
katana -u https://tesla.com
多個 URL 輸入(逗號分隔):
katana -u https://tesla.com,https://google.com
文件輸入:
$ cat url_list.txt
https://tesla.com
https://google.com
katana -list url_list.txt
管道輸入:
echo https://tesla.com | katana
cat domains | httpx | katana
運行實例:
katana -u https://youtube.com
__ __
/ /_____ _/ /____ ____ ___ _
/ '_/ _ / __/ _ / _ / _ /
/_/\_\_,_/\__/\_,_/_//_/\_,_/ v0.0.1
projectdiscovery.io
[WRN] Use with caution. You are responsible for your actions.
[WRN] Developers assume no liability and are not responsible for any misuse or damage.
https://www.youtube.com/
https://www.youtube.com/about/
https://www.youtube.com/about/press/
https://www.youtube.com/about/copyright/
https://www.youtube.com/t/contact_us/
https://www.youtube.com/creators/
https://www.youtube.com/ads/
https://www.youtube.com/t/terms
https://www.youtube.com/t/privacy
https://www.youtube.com/about/policies/
https://www.youtube.com/howyoutubeworks?utm_campaign=ytgen&utm_source=ythp&utm_medium=LeftNav&utm_content=txt&u=https%3A%2F%2Fwww.youtube.com%2Fhowyoutubeworks%3Futm_source%3Dythp%26utm_medium%3DLeftNav%26utm_campaign%3Dytgen
https://www.youtube.com/new
https://m.youtube.com/
https://www.youtube.com/s/desktop/4965577f/jsbin/desktop_polymer.vflset/desktop_polymer.js
https://www.youtube.com/s/desktop/4965577f/cssbin/www-main-desktop-home-page-skeleton.css
https://www.youtube.com/s/desktop/4965577f/cssbin/www-onepick.css
https://www.youtube.com/s/_/ytmainappweb/_/ss/k=ytmainappweb.kevlar_base.0Zo5FUcPkCg.L.B1.O/am=gAE/d=0/rs=AGKMywG5nh5Qp-BGPbOaI1evhF5BVGRZGA
https://www.youtube.com/opensearch?locale=en_GB
https://www.youtube.com/manifest.webmanifest
https://www.youtube.com/s/desktop/4965577f/cssbin/www-main-desktop-watch-page-skeleton.css
https://www.youtube.com/s/desktop/4965577f/jsbin/web-animations-next-lite.min.vflset/web-animations-next-lite.min.js
https://www.youtube.com/s/desktop/4965577f/jsbin/custom-elements-es5-adapter.vflset/custom-elements-es5-adapter.js
https://www.youtube.com/s/desktop/4965577f/jsbin/webcomponents-sd.vflset/webcomponents-sd.js
https://www.youtube.com/s/desktop/4965577f/jsbin/intersection-observer.min.vflset/intersection-observer.min.js
https://www.youtube.com/s/desktop/4965577f/jsbin/scheduler.vflset/scheduler.js
https://www.youtube.com/s/desktop/4965577f/jsbin/www-i18n-constants-en_GB.vflset/www-i18n-constants.js
https://www.youtube.com/s/desktop/4965577f/jsbin/www-tampering.vflset/www-tampering.js
https://www.youtube.com/s/desktop/4965577f/jsbin/spf.vflset/spf.js
https://www.youtube.com/s/desktop/4965577f/jsbin/network.vflset/network.js
https://www.youtube.com/howyoutubeworks/
https://www.youtube.com/trends/
https://www.youtube.com/jobs/
https://www.youtube.com/kids/
0x03 爬蟲模式
標準模式:
標準爬網模式使用底層的標準 go http 庫來處理 HTTP 請求/響應。這種模式要快得多,因為它沒有瀏覽器開銷。盡管如此,它仍然按原樣分析 HTTP 響應正文,沒有任何 javascript 或 DOM 渲染,可能會缺少 dom 渲染后的端點或異步端點調用,這些調用可能發生在復雜的 Web 應用程序中,例如,依賴于特定于瀏覽器的事件。
無頭模式:
無頭模式掛鉤內部無頭調用,以直接在瀏覽器上下文中處理 HTTP 請求/響應。這有兩個優點:
-
HTTP 指紋(TLS 和用戶代理)將客戶端完全標識為合法瀏覽器
-
更好的覆蓋范圍,因為端點是分析標準原始響應的,就像在前面的模式中一樣,以及啟用了javascript的瀏覽器渲染的響應。
以下是其他無頭 CLI 選項 -
katana -h headless
Flags:
HEADLESS:
-hl, -headless enable headless hybrid crawling (experimental)
-sc, -system-chrome use local installed chrome browser instead of katana installed
-sb, -show-browser show the browser on the screen with headless mode
-ho, -headless-options string[] start headless chrome with additional options
-nos, -no-sandbox start headless chrome in --no-sandbox mode
-cdd, -chrome-data-dir string path to store chrome browser data
-scp, -system-chrome-path string use specified chrome browser for headless crawling
-noi, -no-incognito start headless chrome without incognito mode
無沙盒模式:
使用無沙盒選項運行無頭 chrome 瀏覽器,在以 root 用戶身份運行時很有用。
katana -u https://tesla.com -headless -no-sandbox
無運行頭模式:
在沒有隱身模式的情況下運行無頭 chrome 瀏覽器,這在使用本地瀏覽器時很有用。
katana -u https://tesla.com -headless -no-incognito
工具下載:
https://github.com/projectdiscovery/katana
-
HTTP
+關注
關注
0文章
510瀏覽量
31358 -
URL
+關注
關注
0文章
139瀏覽量
15392 -
爬蟲
+關注
關注
0文章
82瀏覽量
6949
原文標題:新一代爬蟲工具 katana
文章出處:【微信號:菜鳥學安全,微信公眾號:菜鳥學安全】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論