์ด๊ฒ์ Ubuntu Online, Fedora Online, Windows ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ ๋๋ MAC OS ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ์ ๊ฐ์ ์ฌ๋ฌ ๋ฌด๋ฃ ์จ๋ผ์ธ ์ํฌ์คํ ์ด์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ OnWorks ๋ฌด๋ฃ ํธ์คํ ์ ๊ณต์ ์ฒด์์ ์คํํ ์ ์๋ ๋ช ๋ น whatweb์ ๋๋ค.
ํ๋ก๊ทธ๋จ:
์ด๋ฆ
WhatWeb - ์คํ ์ค์ธ ์น์ฌ์ดํธ๋ฅผ ์๋ณํ๋ ์น ์ค์บ๋.
๊ฐ์
๋ฌด์จ ์น [์ต์ ]
๊ธฐ์
WhatWeb์ ์น์ฌ์ดํธ๋ฅผ ์๋ณํฉ๋๋ค. ๋ชฉํ๋ "๊ทธ ์น์ฌ์ดํธ๊ฐ ๋ฌด์์ ๋๊น?"๋ผ๋ ์ง๋ฌธ์ ๋ตํ๋ ๊ฒ์ ๋๋ค.
WhatWeb์ ์ฝํ ์ธ ๊ด๋ฆฌ ์์คํ (CMS), ๋ธ๋ก๊น ์ ํฌํจํ ์น ๊ธฐ์ ์ ์ธ์ํฉ๋๋ค.
ํ๋ซํผ, ํต๊ณ/๋ถ์ ํจํค์ง, JavaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์น ์๋ฒ ๋ฐ ์๋ฒ ๋๋
์ฅ์น. WhatWeb์๋ ๊ฐ๊ฐ ๋ค๋ฅธ ๊ฒ์ ์ธ์ํ๋ 900๊ฐ ์ด์์ ํ๋ฌ๊ทธ์ธ์ด ์์ต๋๋ค. WhatWeb๋
๋ฒ์ ๋ฒํธ, ์ด๋ฉ์ผ ์ฃผ์, ๊ณ์ ID, ์น ํ๋ ์์ํฌ ๋ชจ๋, SQL ์๋ณ
์ค๋ฅ ๋ฑ์ด ์์ต๋๋ค.
WhatWeb์ ์๋ฐํ๊ณ ๋น ๋ฅด๊ฑฐ๋ ์ฒ ์ ํ์ง๋ง ๋๋ฆด ์ ์์ต๋๋ค. WhatWeb์ ์นจ๋ต์ ์ง์ํฉ๋๋ค
์๋์ ์์ ์ฑ ์ฌ์ด์ ๊ท ํ์ ์ ์ดํ๋ โโ์์ค์ ๋๋ค. ์ ์๋ ์น์ฌ์ดํธ๋ฅผ ๋ฐฉ๋ฌธํ ๋
๊ทํ์ ๋ธ๋ผ์ฐ์ ์์ ๊ฑฐ๋์๋ ์น ๊ธฐ์ ์ด ๋ฌด์์ ์ ๊ณตํ๋์ง์ ๋ํ ๋ง์ ํํธ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
๊ทธ ์น์ฌ์ดํธ. ๋๋๋ก ๋จ์ผ ์นํ์ด์ง ๋ฐฉ๋ฌธ์๋ ์๋ณํ๊ธฐ์ ์ถฉ๋ถํ ์ ๋ณด๊ฐ ํฌํจ๋ฉ๋๋ค.
์น ์ฌ์ดํธ๊ฐ ์๋ ๊ฒฝ์ฐ WhatWeb์ ์น ์ฌ์ดํธ๋ฅผ ์ถ๊ฐ๋ก ์กฐ์ฌํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ
'์๋'์ด๋ผ๊ณ ํ๋ ๊ณต๊ฒฉ์ฑ ์์ค์ด ๊ฐ์ฅ ๋น ๋ฅด๋ฉฐ ๋จ ํ๋์ HTTP ์์ฒญ๋ง ํ์ํฉ๋๋ค.
์น์ฌ์ดํธ์. ์ด๊ฒ์ ๊ณต๊ฐ ์น์ฌ์ดํธ๋ฅผ ์ค์บํ๋ ๋ฐ ์ ํฉํฉ๋๋ค. ๋ ๊ณต๊ฒฉ์ ์ธ ๋ชจ๋๋
์นจํฌ ํ ์คํธ๋ฅผ ์ํด ๊ฐ๋ฐ๋์์ต๋๋ค.
๋๋ถ๋ถ์ WhatWeb ํ๋ฌ๊ทธ์ธ์ ์ฒ ์ ํ๋ฉฐ ๋ฏธ๋ฌํ ๊ฒ๋ถํฐ ๋ช ๋ฐฑํ ๊ฒ๊น์ง ๋ค์ํ ์ ํธ๋ฅผ ์ธ์ํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ๋๋ถ๋ถ์ WordPress ์น์ฌ์ดํธ๋ ๋ฉํ HTML ํ๊ทธ(์: '
name="generator" content="WordPress 2.6.5">', ๊ทธ๋ฌ๋ ์์์ WordPress ์น์ฌ์ดํธ๊ฐ ์ ๊ฑฐ
์ด ์๋ณ ํ๊ทธ๋ WhatWeb์ ๋ฐฉํดํ์ง ์์ต๋๋ค. WordPress WhatWeb ํ๋ฌ๊ทธ์ธ์๋
ํ๋น์ฝ, ๊ธฐ๋ณธ ์ค์น ํ์ผ, ๋ก๊ทธ์ธ ํ์ธ์ ํฌํจํ 15๊ฐ ์ด์์ ํ ์คํธ
ํ์ด์ง ๋ฐ ์๋ ๋งํฌ ๋ด์์ "/wp-content/"๋ฅผ ํ์ธํฉ๋๋ค.
ํน์ง:
* 1000๊ฐ ์ด์์ ํ๋ฌ๊ทธ์ธ
* ์๋/์ํ ๋ฐ ์ ๋ขฐ์ฑ ๊ฐ์ ๊ท ํ ์ ์ด
* ์ฑ๋ฅ ์กฐ์ . ๋์์ ์ค์บํ ์น์ฌ์ดํธ ์๋ฅผ ์ ์ดํฉ๋๋ค.
* ๋ค์ํ ๋ก๊ทธ ํ์: Brief(greppable), Verbose(์ฌ๋์ด ์ฝ์ ์ ์์), XML, JSON,
๋งค์งํธ๋ฆฌ, RubyObject, MongoDB, SQL.
* TOR๋ฅผ ํฌํจํ ํ๋ก์ ์ง์
* ์ฌ์ฉ์ ์ ์ HTTP ํค๋
* ๊ธฐ๋ณธ HTTP ์ธ์ฆ
* ์นํ์ด์ง ๋ฆฌ๋๋ ์ ์ ์ด
* Nmap ์คํ์ผ์ IP ๋ฒ์
* ํผ์ง ๋งค์นญ
* ๊ฒฐ๊ณผ ํ์ค์ฑ ์ธ์
* ๋ช ๋ น์ค์ ์ ์๋ ์ฌ์ฉ์ ์ ์ ํ๋ฌ๊ทธ์ธ
์ต์
URL, ํ์ผ ์ด๋ฆ ๋๋ nmap ํ์ IP ๋ฒ์๋ฅผ ์ ๋ ฅํฉ๋๋ค. /dev/stdin์ ์ฌ์ฉํ์ฌ HTML ํ์ดํ
์ง์
--์ ๋ ฅ ํ์ผ=ํ์ผ -i
FILE์์ ์ฐพ์ URL ์๋ณ
--์นจ๋ต -a
1(์ํ) - ๋์๋น ํ๋์ HTTP ์์ฒญ์ ์ํํฉ๋๋ค. ๋ํ ๋ฆฌ๋๋ ์ ์ ๋ฐ๋ฆ ๋๋ค.
2(๋ฏธ์ฌ์ฉ) -
3(๊ณต๊ฒฉ์ ) - ๋์๋น ์์์ HTTP ์์ฒญ์ ์ํํ ์ ์์ต๋๋ค. ์ด๊ฒ์ ํธ๋ฆฌ๊ฑฐ
ํด๋น ํ๋ฌ๊ทธ์ธ์ด ๋ ๋ฒจ๋ก ์๋ณ๋๋ ๊ฒฝ์ฐ์๋ง ๋์์ ๋ํ ๊ณต๊ฒฉ์ ์ธ ํ๋ฌ๊ทธ์ธ
1 ๋จผ์ ์์ฒญํฉ๋๋ค.
4(Heavy) - ๋์๋น ๋ง์ HTTP ์์ฒญ์ ๋ง๋ญ๋๋ค. ๊ณต๊ฒฉ์ ์ธ ํ ์คํธ
๋ชจ๋ ํ๋ฌ๊ทธ์ธ์ ๋ชจ๋ URL์ ์ฌ์ฉ๋ฉ๋๋ค.
--list-ํ๋ฌ๊ทธ์ธ -l
ํ๋ฌ๊ทธ์ธ ๋์ด
--ํ๋ฌ๊ทธ์ธ -p
์ ํํ ํ๋ฌ๊ทธ์ธ์ ์ผํ๋ก ๊ตฌ๋ถ๋ ์งํฉ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ๋ชจ๋์ ๋๋ค.
๊ฐ ์์๋ ๋๋ ํ ๋ฆฌ, ํ์ผ ๋๋ ํ๋ฌ๊ทธ์ธ ์ด๋ฆ์ผ ์ ์์ผ๋ฉฐ
์ ํ์ ์ผ๋ก ์์ ์๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค. + ๋๋ -
์: +/tmp/moo.rb,+/tmp/foo.rb
์ ๋ชฉ, md5,+./ํ๋ฌ๊ทธ์ธ ๋นํ์ฑํ/
./ํ๋ฌ๊ทธ์ธ ๋นํ์ฑํ,-md5
--info-ํ๋ฌ๊ทธ์ธ -I
๋ชจ๋ ํ๋ฌ๊ทธ์ธ์ ๋ํ ์ ๋ณด๋ฅผ ํ์ํฉ๋๋ค. ์ ํ์ ์ผ๋ก ๊ฒ์
์ผํ๋ก ๊ตฌ๋ถ๋ ๋ชฉ๋ก์ ํค์๋ ํฌํจ.
--grep -g
๋ฌธ์์ด์ ๊ฒ์ํฉ๋๋ค. Grep์ด๋ผ๋ ํ๋ฌ๊ทธ์ธ์ ๋ณด๊ณ ์
--color=[์ธ์ ] --color=[์ธ์ ]
์์ ์ฌ์ฉ ์ฌ๋ถ๋ฅผ ์ ์ดํฉ๋๋ค. WHEN์ "์ ๋", "ํญ์" ๋๋ "์๋"์ผ ์ ์์ต๋๋ค.
--log-verbose=ํ์ผ
์์ธํ ์ถ๋ ฅ ๊ธฐ๋ก
--์กฐ์ฉํ, -q
STDOUT์ ๋ํ ๊ฐ๋ตํ ๋ก๊น ์ ํ์ํ์ง ์์
--log-brief=ํ์ผ
๋ก๊ทธ ์์ฝ, ํ ์ค ์ถ๋ ฅ
--log-xml=ํ์ผ
๋ก๊ทธ XML ํ์
--log-json=ํ์ผ
๋ก๊ทธ JSON ํ์
--log-sql=ํ์ผ
SQL INSERT ๋ฌธ ๊ธฐ๋ก
--log-sql-create=ํ์ผ
SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ ์์ฑ
--log-json-verbose=ํ์ผ
JSON ์์ธ ํ์ ๊ธฐ๋ก
--log-magictree=ํ์ผ
Log MagicTree XML ํ์
--log-object=ํ์ผ
๋ก๊ทธ Ruby ๊ฐ์ฒด ๊ฒ์ฌ ํ์
--log-mongo-database=์ด๋ฆ
MongoDB ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ด๋ฆ
--log-mongo-collection=์ด๋ฆ
MongoDB ์ปฌ๋ ์ ์ ์ด๋ฆ์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ: whatweb
--log-mongo-host=์ด๋ฆ
MongoDB ํธ์คํธ ์ด๋ฆ ๋๋ IP ์ฃผ์. ๊ธฐ๋ณธ๊ฐ: 0.0.0.0
--log-mongo-username=์ด๋ฆ
MongoDB ์ฌ์ฉ์ ์ด๋ฆ. ๊ธฐ๋ณธ๊ฐ: ์์
--log-mongo-password=์ด๋ฆ
๋ชฝ๊ณ DB ๋น๋ฐ๋ฒํธ. ๊ธฐ๋ณธ๊ฐ: ์์
--log-errors=ํ์ผ
๋ก๊ทธ ์ค๋ฅ
--์ค๋ฅ ์์
์ค๋ฅ ๋ฉ์์ง ์ต์
--์ฌ์ฉ์ ์์ด์ ํธ -U
WhatWeb/VERSION ๋์ ์ฌ์ฉ์ ์์ด์ ํธ๋ก ์๋ณํฉ๋๋ค.
--์ฌ์ฉ์ -u
HTTP ๊ธฐ๋ณธ ์ธ์ฆ
--ํค๋ -H
HTTP ํค๋๋ฅผ ์ถ๊ฐํฉ๋๋ค. ์: "Foo:Bar". ๊ธฐ๋ณธ๊ฐ ์ง์
ํค๋๊ฐ ๋์ฒดํฉ๋๋ค. ๋น ๊ฐ ์ง์ , ์:
"User-Agent:"๋ ํค๋๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
--์ต๋ ์ค๋ ๋ -t
๋์ ์ค๋ ๋ ์์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 25์ ๋๋ค.
--follow-redirect=์ธ์
๋ฆฌ๋๋ ์ ์ ๋ฐ๋ฅผ ์๊ธฐ๋ฅผ ์ ์ดํฉ๋๋ค. WHEN์ "never", "http-only", "meta-only",
"๋์ผํ ์ฌ์ดํธ", "๋์ผํ ๋๋ฉ์ธ" ๋๋ "ํญ์"
--์ต๋-๋ฆฌ๋๋ ์ =NUM
์ต๋ ์ฐ์ ๋ฆฌ๋๋ ์ ์์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ: 10
--๋๋ฆฌ
ํ๋ก์ ํธ์คํธ ์ด๋ฆ ๋ฐ ํฌํธ ์ค์ (๊ธฐ๋ณธ๊ฐ: 8080)
--ํ๋ก์-์ฌ์ฉ์
ํ๋ก์ ์ฌ์ฉ์ ๋ฐ ๋น๋ฐ๋ฒํธ ์ค์
--์คํ ํ์์์
์๊ฐ(์ด)์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ: 15
--์ฝ๊ธฐ ์๊ฐ ์ด๊ณผ
์๊ฐ(์ด)์ ๋๋ค. ๊ธฐ๋ณธ๊ฐ: 30
--๋๊ธฐ=์ด
์ฐ๊ฒฐ ์ฌ์ด์ SECONDS๋ฅผ ๊ธฐ๋ค๋ฆฝ๋๋ค. ์ด๊ฒ์ ๋จ์ผ ์ค๋ ๋๋ฅผ ์ฌ์ฉํ ๋ ์ ์ฉํฉ๋๋ค.
--๋ง์ถค ํ๋ฌ๊ทธ์ธ
์ฌ์ฉ์ ์ ์ ํ๋ฌ๊ทธ์ธ ํธ์ถ Custom ์ ์, ์: ":text=>'powered by abc'"
":regexp=>/powered[ ]?by ab[0-9]/" ":ghdb=>'intitle:abc "abc์์ ์ ๊ณต"'"
":md5=>'8666257030b94d3bdb46e05945f60b42'" "{:text=>'powered by
abc'},{:regexp=>/abc [ ]?1/i}"
--๋ํฌ์ค <ํ๋ฌ๊ทธ์ธ ์ด๋ฆ>
์ ํํ ํ๋ฌ๊ทธ์ธ์ ๋ํ google dorks ๋์ด
--url-์ ๋์ฌ
๋์ URL์ ์ ๋์ฌ ์ถ๊ฐ
--url-์ ๋ฏธ์ฌ
๋์ URL์ ์ ๋ฏธ์ฌ ์ถ๊ฐ
--url-ํจํด
๋์์ URL์ ์ฝ์ ํฉ๋๋ค. --input-file์ด ํ์ํฉ๋๋ค(์:
www.example.com/%insert%/robots.txt
--๋์ -h
๋์คํ๋ ์ด ์ฌ์ฉ๋ฒ
--๋ง ์๊ฐ ๋ง์ -v
์์ธํ ์ ๋ณด๋ฅผ ๋๋ฆฌ๊ณ (๊ถ์ฅ) ๋๋ฒ๊น ์ ๋ ๋ฒ ์ฌ์ฉํฉ๋๋ค.
-๋๋ฒ๊ทธ
ํ๋ฌ๊ทธ์ธ์์ ์ค๋ฅ๋ฅผ ๋ฐ์์ํต๋๋ค.
--๋ฒ์ญ
๋ฒ์ ์ ๋ณด๋ฅผ ํ์ํฉ๋๋ค.
์ฌ์ฉ ์
์๋ํ:
whatweb example.com
์๋ (๋ง ์๊ฐ ๋ง์):
whatweb -v example.com
์ ๊ทน์ ์ธ:
whatweb -a 3 example.com
IP ๋ฒ์
์์น 192.168.1.0/24
onworks.net ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ whatweb ์จ๋ผ์ธ ์ฌ์ฉ