๋ณด์ด์ง€ ์•Š๋Š” ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ JavaScript ์ฝ”๋“œ์—์„œ ๋™์ž‘ ์ˆจ๊ธฐ๊ธฐ

์–‘๋ฐฉํ–ฅ ํ…์ŠคํŠธ์˜ ํ‘œ์‹œ ์ˆœ์„œ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž ์‚ฌ์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” Trojan Source ๊ณต๊ฒฉ ๋ฐฉ๋ฒ•์— ์ด์–ด JavaScript ์ฝ”๋“œ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ˆจ๊ฒจ์ง„ ๋™์ž‘์„ ๋„์ž…ํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ๊ธฐ์ˆ ์ด ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๋ฐฉ์‹์€ ๊ธ€์ž์ง€๋งŒ ๋ˆˆ์— ๋ณด์ด๋Š” ๋‚ด์šฉ์ด ์—†๋Š” ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž "ใ…ค"(์ฝ”๋“œ 0x3164, "HANGUL FILLER")์˜ ์‚ฌ์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ž๊ฐ€ ์†ํ•œ ์œ ๋‹ˆ์ฝ”๋“œ ๋ฒ”์ฃผ๋Š” JavaScript ๋ณ€์ˆ˜ ์ด๋ฆ„์— ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ECMAScript 2015 ์‚ฌ์–‘ ์ดํ›„๋กœ ํ—ˆ์šฉ๋˜์–ด Notepad++ ๋ฐ VS Code์™€ ๊ฐ™์€ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์ฝ”๋“œ ํŽธ์ง‘๊ธฐ์—์„œ ๋ณด์ด์ง€ ์•Š๋Š” ๋ณ€์ˆ˜ ๋˜๋Š” ๋‹ค๋ฅธ ๋ณ€์ˆ˜์™€ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์—†๋Š” ์ƒˆ ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด Node.js ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ์ฝ”๋“œ๊ฐ€ ์ œ๊ณต๋˜๋ฉฐ ๋‹จ์ผ ๋ฌธ์ž "ใ…ค"๋กœ ๊ตฌ์„ฑ๋œ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณต๊ฒฉ์ž๊ฐ€ ์ง€์ •ํ•œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฑ๋„์–ด๊ฐ€ ์ˆจ๊ฒจ์ง‘๋‹ˆ๋‹ค. app.get( '/network_health', async (req, res) = > { const { timeout,ใ…ค} = req.query; // ์‹ค์ œ๋กœ๋Š” "const { timeout,ใ…ค \u3164}"๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. const checkCommands = [ 'ping -c 1 google. com', 'curl -s http:// example.com/',ใ…ค // ์‰ผํ‘œ ๋‹ค์Œ์— \u3164 ];

์–ธ๋œป ๋ณด๊ธฐ์— ์™ธ๋ถ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ํƒ€์ž„์•„์›ƒ ๊ฐ’๋งŒ ์ „๋‹ฌ๋˜๊ณ  ์‹คํ–‰ํ•  ๋ช…๋ น์ด ํฌํ•จ๋œ ๋ฐฐ์—ด์—๋Š” ๋ฌดํ•ดํ•œ ๊ณ ์ • ๋ชฉ๋ก์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ œ๋กœ๋Š” ํƒ€์ž„์•„์›ƒ ๋ณ€์ˆ˜ ์ดํ›„์— ์‹ฌ๋ณผ ์ฝ”๋“œ \u3164๋ฅผ ๊ฐ€์ง„ ๋˜ ๋‹ค๋ฅธ ๋ณด์ด์ง€ ์•Š๋Š” ๋ณ€์ˆ˜์˜ ๊ฐ’์ด ํ• ๋‹น๋˜๋ฉฐ, ์ด ์—ญ์‹œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋ช…๋ น์˜ ๋ฐฐ์—ด๋กœ ๋Œ€์ฒด๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋Ÿฌํ•œ ๊ตฌ์กฐ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๊ณต๊ฒฉ์ž๋Š” ๋ฐฑ๋„์–ด๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด "https://host:8080/network_health?%E3%85%A4=command"์™€ ๊ฐ™์€ ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ ๋‹ค๋ฅธ ์˜ˆ๋กœ ๋ฌธ์ž "วƒ"(ALVEOLAR CLICK)๊ฐ€ ์ฃผ์–ด์ ธ ๋Š๋‚Œํ‘œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ชจ์–‘์„ ์ œ๊ณตํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Node.js 14์—์„œ ์‹คํ–‰๋  ๋•Œ "if(environmentวƒ=ENV_PROD){" ํ‘œํ˜„์‹์€ ์ฐจ์ด๋ฅผ ํ™•์ธํ•˜์ง€ ์•Š๊ณ  "environmentวƒ" ๋ณ€์ˆ˜๋ฅผ ENV_PROD๋กœ ์„ค์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•ญ์ƒ ์ฐธ์ž…๋‹ˆ๋‹ค. ์˜คํ•ด์˜ ์†Œ์ง€๊ฐ€ ์žˆ๋Š” ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž์—๋Š” "๏ผ", "โˆ’", "๏ผ‹", "โฉต", "โจ", "โซฝ", "๊“ฟ" ๋ฐ "โˆ—"๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€