Language

R script๋ฅผ ์ด์šฉํ•œ ์‹œ๊ฐํ™”

๐“›๐“พ๐“ฌ๐“ฎ๐“ฝ๐“ฎ_๐“ข๐“ฝ๐“ฎ๐“ต๐“ต๐“ช 2022. 12. 18.
728x90
๋ฐ˜์‘ํ˜•

ํ•ด๋‹น ๋ธ”๋กœ๊ทธ๋Š” ํ•ดํ‚น ๋ฐ ๋ณด์•ˆ ๋ธ”๋กœ๊ทธ๋กœ ๊ณต๋ถ€ ๋ฐ ์—ฐ๊ตฌ์šฉ์œผ๋กœ ์ž‘์„ฑ๋˜์–ด์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ๋‚ด์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ดํ‚น ์‹œ๋„ ๋ฐ ์‹ค์ œ ๊ณต๊ฒฉ์„ ์‹œ๋„ํ•˜์—ฌ ์ผ์–ด๋‚˜๋Š” ๋ชจ๋“  ์ฑ…์ž„์€ ๋ณธ์ธ(๋”ฐ๋ผํ•œ์ž)์—๊ฒŒ ์žˆ์Œ์„ ์•Œ๋ ค๋“œ๋ฆฌ๋ฉฐ, ๊ธ€์“ด์ด๋Š” ์•„๋ฌด๋Ÿฐ ์ฑ…์ž„์„ ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ผญ ๊ณต๋ถ€ ๋ฐ ์—ฐ๊ตฌ์šฉ์œผ๋กœ๋งŒ ์‚ฌ์šฉํ•˜์—ฌ ์ฃผ์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ๋ถ„์„ ๋ฐ ๋กœ๊ทธ ๋ถ„์„์„ ํ•˜๋‹ค๋ณด๋ฉด ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

๋‚˜์˜ ๋ธ”๋กœ๊ทธ์— ๋ณด๋ฉด access๋กœ๊ทธ ๊ฐ™์€ ๊ฒƒ์„ ๋ถ„์„ํ•˜๋Š” ๊ฒƒ์„ ์ž‘์„ฑ์„ ํ•ด๋‘”์ ์ด์žˆ๋‹ค.

2020.11.02 - [Security Study/Network] - access ๋กœ๊ทธ ๋ถ„์„ ํ• ๋•Œ ๊ฟ€ํŒ

 

access ๋กœ๊ทธ ๋ถ„์„ ํ• ๋•Œ ๊ฟ€ํŒ

access ๋กœ๊ทธ๋ฅผ ๋ถ„์„ํ• ๋•Œ ๋งŽ์€ ์–ด๋ ค์›€์ด ์กด์žฌํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์Œ .... access ๋กœ๊ทธ๋ฅผ ๋ณด๋ฉด ์–‘์ด๋งŽ์ด ๋‚˜์˜จ๋‹ค. ๊ทธ๋Ÿฐ๊ฑธ ์‰ฝ๊ฒŒ ์ •๋ฆฌํ•˜๊ธฐ์œ„ํ•ด cat access.log | awk '{print $1, $7}' | sort | uniq -c | sort -rn ์„ ํ•˜๊ฒŒ๋˜๋ฉด

blog.z3alous.xyz

ํ•ด๋‹น ๊ธ€์„ ๋ณด๊ฒŒ ๋˜๋ฉด awk ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ถ„์„์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”๋ฐ. ํ•ด๋‹น ๋ฐฉ๋ฒ•์„ ํ†ตํ•˜๋ฉด ์–ด๋Š์ •๋„ ๋ณด๊ธฐ๋Š” ์‰ฝ๊ฒŒ ๋‚˜์˜จ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์„ ์‹œ๊ฐํ™”๋ฅผ ์‹œ์ผœ ๋ณด๊ธฐ ๋” ์‰ฝ๊ฒŒ ๋งŒ๋“ค์ˆ˜์žˆ๋‹ค.

 

๊ทธ๋ž˜์„œ ์‚ฌ์šฉํ• ๊ฒƒ์€ r script๋ฅผ ์ด์šฉ์„ ํ• ๊ฒƒ์ธ๋ฐ.

mac์„ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋‹ˆ mac์„ ๊ธฐ์ค€์œผ๋กœ ์ž‘์„ฑํ•ด๋ณด๊ฒ ๋‹ค.

๋จผ์ € xcode๋ฅผ ์„ค์น˜ํ•ด์•ผํ•œ๋‹ค.

xcode-select --install

์ถ”ํ›„ ํ•˜๋‚˜ํ•˜๋‚˜ ์„ค์น˜๋ฅผ ํ• ๊ฒƒ์ธ๋ฐ.

install Homebrew
brew install xquartz
brew install r

homebrew๋ฅผ ์„ค์น˜ํ•˜๊ณ  xquartz์™€ r script๋ฅผ ์„ค์น˜ํ• ๊ฒƒ์ด๋‹ค.

 ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด r script๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”๋ฅผ ํ• ์ˆ˜์žˆ๋Š”๋ฐ.

๊ฐ€๋” ํŒจํ‚ค์ง€๊ฐ€ ์—†๋‹ค๊ณ  ๋‚˜์˜จ๋‹ค๋ฉด ํ•ด๋‹น ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์„ค์น˜ํ•˜์—ฌ๋ณด์ž

Rstudio ์„ค์น˜ ํ›„ install.packages("ํŒจํ‚ค์ง€๋ช…")

์ด๋ ‡๊ฒŒ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๋ฉด ์ •์ƒ์ ์œผ๋กœ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ๋ฐ.

r script์—์„œ cheat cheet๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด ๋‹ค์–‘ํ•œ ๊ทธ๋ž˜ํ”„๋“ค์„ ๋งŒ๋“ค์–ด ์‹œ๊ฐํ™”๋ฅผ ํ• ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ• ์ˆ˜์žˆ๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด

cat aa.csv| awk '{print $2}' | sort | uniq -c | awk '{print $2, $1}' | feedgnuplot --domain --timefmt "%H:%M:%S" --with boxes

์ด๋ ‡๊ฒŒํ•œ๋‹ค๋ฉด

์ด๋Ÿฐ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด ๋‚ผ์ˆ˜ ์žˆ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€2

๊ด‘๊ณ  ํ•œ๋ฒˆ ๋ณด๊ณ  ๊ฐ€์‹ค๊ฒŒ์š”!