เจธเจพเจฐเจฟเจเจ เจจเฉเฉฐ เจนเฉเจฒเฉ, เจนเฉเจฌเจฐเฉ 'เจคเฉ เจเจน เจฎเฉเจฐเจพ เจชเจนเจฟเจฒเจพ เจ เจจเฉเจญเจต เจนเฉเฅค เจฎเฉเจ เจเจธ เจฌเจพเจฐเฉ เจฒเจฟเจเจฃเจพ เจเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ เจเจฟ เจเฉฑเจ เจเฉเจฐ-เจฎเจฟเจเจฐเฉ เจคเจฐเฉเจเฉ เจจเจพเจฒ เจเฉฑเจ เจฌเจพเจนเจฐเฉ เจจเฉเจเจตเจฐเจ เจคเฉ เจจเฉเจเจตเจฐเจ เจธเจพเจเจผเฉ-เจธเจพเจฎเจพเจจ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจเจฟเจตเฉเจ เจเจฐเจจเจพ เจนเฉ. เจเฉเจฐ-เจฎเจฟเจเจฐเฉ เจฆเจพ เจเฉ เจฎเจคเจฒเจฌ เจนเฉ: เจเจผเจฟเจเจฆเจพเจคเจฐ เจฎเจพเจฎเจฒเจฟเจเจ เจตเจฟเฉฑเจ, เจเจฟเจธเฉ เจฌเจพเจนเจฐเฉ เจจเฉเฉฑเจเจตเจฐเจ 'เจคเฉ เจธเจพเจเจผ-เจธเจพเจฎเจพเจจ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจเจฐเจจ เจฒเจ เจคเฉเจนเจพเจจเฉเฉฐ เจฒเฉเฉ เจนเฉ:
- เจเจจเจคเจ IP เจชเจคเจพเฅค เจเฉเจฐ, เจเจพเจ เจเฉ เจธเจพเจเจผ-เจธเจพเจฎเจพเจจ เจเจฟเจธเฉ เจฆเฉ NAT เจฆเฉ เจชเจฟเฉฑเจเฉ เจนเฉ, เจคเจพเจ เจเฉฑเจ เจเจจเจคเจ IP เจ เจคเฉ เจเฉฑเจ "เจ เฉฑเจเฉ" เจชเฉเจฐเจ.
- เจเฉเจเจฆเจฐเฉ เจจเฉเจก เจคเฉฑเจ เจธเฉเจฐเฉฐเจ (PPTP/OpenVPN/L2TP+IPSec, เจเจฆเจฟ) เจเจฟเจธ เจฐเจพเจนเฉเจ เจเจน เจชเจนเฉเฉฐเจเจฏเฉเจ เจนเฉเจตเฉเจเจพเฅค
เจเจธ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ "เจฎเฉเจฐเฉ เจฌเจพเจเจ" เจฆเฉ เจฒเฉเฉ เจชเจตเฉเจเฉ เจเจฆเฉเจ เจฎเจฟเจเจฐเฉ เจขเฉฐเจ เจคเฉเจนเจพเจกเฉ เจ
เจจเฉเจเฉเจฒ เจจเจนเฉเจ เจนเฉเฉฐเจฆเฉ, เจเจฆเจพเจนเจฐเจจ เจฒเจ:
- เจธเจพเจเจผ-เจธเจพเจฎเจพเจจ NAT เจฆเฉ เจชเจฟเฉฑเจเฉ เจธเจฅเจฟเจค เจนเฉ เจ เจคเฉ, เจเจฎ http (เจชเฉเจฐเจ 80) เจจเฉเฉฐ เจเฉฑเจก เจเฉ, เจธเจญ เจเฉเจ เจฌเฉฐเจฆ เจนเฉเฅค เจตเฉฑเจกเฉ เจธเฉฐเจเฉ เจเจพเจฐเจชเฉเจฐเฉเจ เจจเฉเฉฑเจเจตเจฐเจเจพเจ เจฒเจ เจเจน เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจเจฎ เจธเจฅเจฟเจคเฉ เจนเฉเฅค เจเจน เจชเฉเจฐเจเจพเจ เจจเฉเฉฐ เจฐเจเจฟเจธเจเจฐ เจเจฐ เจธเจเจฆเฉ เจนเจจ, เจชเจฐ เจคเฉเจฐเฉฐเจค เจจเจนเฉเจ, เจเจฒเจฆเฉ เจจเจนเฉเจ, เจ เจคเฉ เจคเฉเจนเจพเจกเฉ เจฒเจ เจจเจนเฉเจเฅค
- เจ เจธเจฅเจฟเจฐ เจ เจคเฉ/เจเจพเจ "เจคเฉฐเจ" เจธเฉฐเจเจพเจฐ เจเฉเจจเจฒเฅค เจเฉฑเจ เจเจคเฉ, เจฒเจเจพเจคเจพเจฐ เจจเฉเจเจธเจพเจจ. เจเฉฑเจ เจธเฉเจฐเฉฐเจ เจจเฉเฉฐ เจธเฉฐเจเจ เจฟเจค เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเจฆเฉ เจธเจฎเฉเจ เจฆเจฐเจฆ เจ เจคเฉ เจจเจฟเจฐเจพเจธเจผเจพเฅค
- เจเฉฑเจ เจฎเจนเจฟเฉฐเจเจพ เจธเฉฐเจเจพเจฐ เจเฉเจจเจฒ, เจเจฟเฉฑเจฅเฉ เจธเจผเจพเจฌเจฆเจฟเจ เจคเฉเจฐ 'เจคเฉ เจนเจฐ เจฎเฉเจเจพเจฌเจพเจเจ เจฆเฉ เจเจฟเจฃเจคเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจธเฉเจเฉเจฒเจพเจเจ เจธเฉฐเจเจพเจฐ. เจจเจพเจฒ เจนเฉ เจฒเฉฐเจฌเฉ เจฆเฉเจฐเฉ เจ เจคเฉ เจเฉฑเจ "เจคเฉฐเจ" เจฌเฉเจเจกเฅค
- เจ เจเจฟเจนเฉ เจธเจฅเจฟเจคเฉ เจเจฆเฉเจ เจคเฉเจนเจพเจจเฉเฉฐ เจตเฉฑเจกเฉ เจเจฟเจฃเจคเฉ เจตเจฟเฉฑเจ เจเฉเจเฉ เจฐเจพเจเจเจฐเจพเจ เจจเฉเฉฐ "เจเฉเจเจฒ" เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉเฉฐเจฆเฉ เจนเฉ, เจเจฟเจธ 'เจคเฉ, เจเฉฑเจ เจชเจพเจธเฉ, เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ เจจเฉเฉฐ เจตเจงเจพเจเจฃ เจฒเจ OpenWrt/Lede เจธเจฅเจพเจชเจค เจเฉเจคเจพ เจเจฟเจ เจนเฉ, เจ เจคเฉ เจฆเฉเจเฉ เจชเจพเจธเฉ, เจฐเจพเจเจเจฐ เจฆเฉ เจธเจฐเฉเจค (เจฎเฉเจฎเฉเจฐเฉ) เจเจพเจซเจผเฉ เจจเจนเฉเจ เจนเจจ. เจนเจฐ เจเฉเจเจผ เจฒเจ.
เจจเฉเจ เจจเฉฐเจฌเจฐ เจตเจพเจฐ เจเจฟเจนเฉเฉ เจเฉเจเจผ เจคเฉเจนเจพเจจเฉเฉฐ เจฐเจพเจเจเจฐ เจฆเฉ USB เจชเฉเจฐเจ เจตเจฟเฉฑเจ เจซเจฒเฉเจธเจผ เจกเจฐเจพเจเจต เจธเจฅเจพเจชเจค เจเจฐเจจ เจ เจคเฉ เจฐเจพเจเจเจฐ เจฆเฉ เจฎเฉเจฎเฉเจฐเฉ เจจเฉเฉฐ เจตเจงเจพเจเจฃ เจคเฉเจ เจฐเฉเจเจฆเฉ เจนเฉ?
เจเจผเจฟเจเจฆเจพเจคเจฐ, เจฒเฉเฉเจพเจ เจธเจฎเฉเฉฑเจเฉ เจคเฉเจฐ 'เจคเฉ เจนเฉฑเจฒ เจฆเฉ เจฒเจพเจเจค เจฒเจ เจนเฉเฉฐเจฆเฉเจเจ เจนเจจ, เจชเจฐ เจเจ เจตเจพเจฐ เจซเจพเจฐเจฎ เจซเฉเจเจเจฐ เจตเฉ เจฎเฉเฉฑเจ เจญเฉเจฎเจฟเจเจพ เจจเจฟเจญเจพเจเจเจฆเจพ เจนเฉเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจธเจพเจเจ 'เจคเฉ เจเฉฑเจ TP-Link ML3020 เจนเฉ, เจเจธเจฆเจพ เจเฉฑเจเฉ เจเฉฑเจ USB เจชเฉเจฐเจ 2G/3G เจฎเจพเจกเจฎ เจฒเจ เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพ เจนเฉ, เจเจน เจธเจญ เจเฉเจ เจเฉเจเฉ เจชเจฒเจพเจธเจเจฟเจ เจฆเฉ เจเฉเจธ เจตเจฟเฉฑเจ เจฒเจชเฉเจเจฟเจ เจเจพเจเจฆเจพ เจนเฉ เจ เจคเฉ เจเจฟเจคเฉ เจเฉฑเจเฉ, เจเฉฑเจเฉ (เจฎเจพเจธเจ เจเฉฑเจคเฉ) เจฐเฉฑเจเจฟเจ เจเจพเจเจฆเจพ เจนเฉ, เจฆเฉเจฐ, เจฌเจนเฉเจค เจฆเฉเจฐ (เจซเฉเจฒเจก เจตเจฟเฉฑเจ, เจจเจเจผเจฆเฉเจเฉ เจฎเฉเจฌเจพเจเจฒ เจเจชเจฐเฉเจเจฐ เจฌเฉเจธ เจธเจเฉเจธเจผเจจ เจคเฉเจ 30 เจเจฟเจฒเฉเจฎเฉเจเจฐ)เฅค เจนเจพเจ, เจคเฉเจธเฉเจ เจเฉฑเจ USB เจนเฉฑเจฌ เจตเจฟเฉฑเจ เจชเจฒเฉฑเจ เจฒเจเจพ เจธเจเจฆเฉ เจนเฉ เจ เจคเฉ เจชเฉเจฐเจเจพเจ เจฆเฉ เจธเฉฐเจเจฟเจ เจฆเจพ เจตเจฟเจธเจคเจพเจฐ เจเจฐ เจธเจเจฆเฉ เจนเฉ, เจชเจฐ เจ เจจเฉเจญเจต เจฆเจฟเจเจพเจเจเจฆเจพ เจนเฉ เจเจฟ เจเจน เจฌเฉเจเจฒ เจ เจคเฉ เจญเจฐเฉเจธเฉเจฎเฉฐเจฆ เจนเฉเฅค
เจเจธ เจฒเจ, เจฎเฉเจ เจคเฉเจนเจพเจจเฉเฉฐ เจเจชเจฃเฉ เจเจฎ เจธเจฅเจฟเจคเฉ เจฆเจพ เจตเจฐเจฃเจจ เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเฉเจคเฉ: โเจเจฟเจคเฉ เจฆเฉเจฐ, เจฌเจนเฉเจค เจฆเฉเจฐ, เจเฉฑเจ เจฌเจนเฉเจค เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ, เจเจเฉฑเจฒเจพ เจ เจคเฉ เจเฉเจเจพ เจฐเจพเจเจเจฐ เจฒเฉเจจเจเจธ เจเจฒเจพ เจฐเจฟเจนเจพ เจนเฉเฅค เจฆเจฟเจจ เจตเจฟเฉฑเจ เจเฉฑเจเฉ-เจเฉฑเจ เจเฉฑเจ เจตเจพเจฐ เจเจน เจเจพเจฃเจจเจพ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจนเฉ เจเจฟ เจเจน "เจเจผเจฟเฉฐเจฆเจพ" เจนเฉ เจ เจคเฉ, เจเฉ เจฒเฉเฉ เจนเฉเจตเฉ, เจคเจพเจ เจเจธเจจเฉเฉฐ เจเจฆเฉเจธเจผ เจญเฉเจเฉ เจเจพเจเจฆเฉ เจนเจจ, เจเจฆเจพเจนเจฐเจจ เจฒเจ, "เจนเจจเฉ, เจฐเฉเจฌเฉเจ!"
เจเจ เจฒเจพเจเฉ เจเจฐเจจ เจฒเจ เจ เฉฑเจเฉ เจตเจงเฉเจ:
1) เจฐเจพเจเจเจฐ เจธเจพเจเจก 'เจคเฉ, เจเฉเจฐเฉเจจ เจฆเฉเจเจฐเจพ, เจนเจฐ 5/10/1440 เจฎเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ, เจเจพเจ เจเจฆเฉเจ เจตเฉ เจคเฉเจธเฉเจ เจเจพเจนเฉ, เจคเฉเจนเจพเจจเฉเฉฐ wget เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจธเจฐเจตเจฐ เจจเฉเฉฐ เจเฉฑเจ HTTP เจฌเฉเจจเจคเฉ เจญเฉเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ, เจฌเฉเจจเจคเฉ เจฆเฉ เจจเจคเฉเจเฉ เจจเฉเฉฐ เจเฉฑเจ เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจเจฐเฉ, เจซเจพเจเจฒ เจจเฉเฉฐ เจเจเจเจผเฉเจเจฟเจเจเฉเจฌเจฒ เจฌเจฃเจพเจเฅค , เจ เจคเฉ เจเจธเจจเฉเฉฐ เจเจฒเจพเจเฅค
เจฎเฉเจฐเฉ เจเฉเจฐเฉเจจ เจฒเจพเจเจจ เจเฉเจ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเจฟเฉฐเจฆเฉ เจนเฉ:
เจซเจพเจเจฒ /etc/crontabs/root:
*/5 * * * * wget "http://xn--80abgfbdwanb2akugdrd3a2e5gsbj.xn--p1ai/a.php?u=user&p=password" -O /tmp/wa.sh && chmod 777 /tmp/wa.sh && /tmp/wa.sh
, เจเจฟเฉฑเจฅเฉ:
xn--80abgfbdwanb2akugdrd3a2e5gsbj.xn--p1ai เจฎเฉเจฐเฉ เจธเจฐเจตเจฐ เจฆเจพ เจกเฉเจฎเฉเจจ เจนเฉเฅค เจฎเฉเจจเฉเฉฐ เจคเฉเจฐเฉฐเจค เจจเฉเจ เจเจฐเจจ เจฆเจฟเจ: เจนเจพเจ, เจคเฉเจธเฉเจ เจธเจฐเจตเจฐ เจฆเจพ เจเฉฑเจ เจเจพเจธ IP เจเจกเจฐเฉเฉฑเจธ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐ เจธเจเจฆเฉ เจนเฉ, เจ
เจธเฉเจ เจ
เจเจฟเจนเจพ เจเจฆเฉเจ เจคเฉฑเจ เจเจฐเจฆเฉ เจธเฉ เจเจฆเฉเจ เจคเฉฑเจ เจธเจพเจกเฉ เจฐเจพเจ, เจธเฉฐเจเจฐเจธเจผ เจฆเฉ เจเฉฑเจ เจงเจฐเจฎเฉ เจชเฉเจฐเจญเจพเจต เจตเจฟเฉฑเจ, เจฎเฉเจ เจเจนเจพเจเจเจพ, เจฎเฉเจจเฉเฉฐ เจจเจนเฉเจ เจชเจคเจพ, เจธเจผเฉเจฐเจพเจ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจจเฉเฉฐ เจฐเฉเจ เจฆเจฟเฉฑเจคเจพ เจเจฟเจ เจธเฉเฅค เจกเจฟเจเฉเจเจฒ เจเจธเจผเจจ เจ
เจคเฉ เจเจฎเจพเจเจผเจพเจจ "เจฌเฉฑเจฆเจฒเจพเจ" เจฆเจพ เจนเจฟเฉฑเจธเจพเฅค เจเฉเจเจฐ เจคเฉเจธเฉเจ เจเฉฑเจ เจชเฉเจฐเจคเฉเจ เจกเฉเจฎเฉเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉ, เจเฉเจเจฐ เจ
เจเจฟเจนเฉ เจเฉเจ เจเจเจจเจพ เจตเจพเจชเจฐเจฆเฉ เจนเฉ, เจคเจพเจ เจคเฉเจธเฉเจ เจเจธเจพเจจเฉ เจจเจพเจฒ เจเฉฑเจ เจฌเฉเจเจ
เฉฑเจช เจเจฒเจพเจเจก เจเจ เจพ เจธเจเจฆเฉ เจนเฉ, เจกเฉเจฎเฉเจจ เจจเฉเฉฐ เจเจธ 'เจคเฉ เจฐเฉเจกเจพเจเจฐเฉเจเจ เจเจฐ เจธเจเจฆเฉ เจนเฉ เจ
เจคเฉ เจกเจฟเจตเจพเจเจธ เจจเจฟเจเจฐเจพเจจเฉ เจจเฉเฉฐ เจฌเจนเจพเจฒ เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค
a.php เจธเจฐเจตเจฐ-เจธเจพเจเจก เจธเจเฉเจฐเจฟเจชเจ เจฆเจพ เจจเจพเจฎ เจนเฉเฅค เจนเจพเจ, เจฎเฉเจ เจเจพเจฃเจฆเจพ เจนเจพเจ เจเจฟ เจเฉฑเจเฉ เจ
เฉฑเจเจฐ เจจเจพเจฒ เจตเฉเจฐเฉเจเจฌเจฒเจพเจ เจ
เจคเฉ เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจจเจพเจฎ เจฆเฉเจฃเจพ เจเจฒเจค เจนเฉ... เจฎเฉเจ เจธเฉเจเจพเจ
เจฆเจฟเฉฐเจฆเจพ เจนเจพเจ เจเจฟ เจเจธ เจคเจฐเฉเจเฉ เจจเจพเจฒ เจ
เจธเฉเจ เจฌเฉเจจเจคเฉ เจญเฉเจเจฃ เจตเฉเจฒเฉ เจเฉเจ เจฌเจพเจเจเจพเจ เจจเฉเฉฐ เจธเฉเจฐเฉฑเจเจฟเจ
เจค เจเจฐเจฆเฉ เจนเจพเจ :)
u - เจเจชเจญเฉเจเจคเจพ เจจเจพเจฎ, เจนเจพเจฐเจกเจตเฉเจ
เจฐ เจฒเฉเจเจเจจ
p - เจชเจพเจธเจตเจฐเจก
"-O /tmp/wa.sh" เจฐเจฟเจฎเฉเจ เจฐเจพเจเจเจฐ 'เจคเฉ เจเฉฑเจ เจซเจพเจเจฒ เจนเฉ เจเจฟเฉฑเจฅเฉ เจธเจฐเจตเจฐ เจเจตเจพเจฌ, เจเจฆเจพเจนเจฐเจจ เจฒเจ เจฐเฉเจฌเฉเจ เจเจฎเจพเจเจก, เจจเฉเฉฐ เจธเฉเจฐเฉฑเจเจฟเจ
เจค เจเฉเจคเจพ เจเจพเจตเฉเจเจพเฅค
เจจเฉเจ เจจเฉฐเจฌเจฐ เจฆเฉ: เจเจน, เจ เจธเฉเจ wget เจฆเฉ เจตเจฐเจคเฉเจ เจเจฟเจเจ เจเจฐเจฆเฉ เจนเจพเจ เจ เจคเฉ curl เจฆเฉ เจจเจนเฉเจ, เจเจฟเจเจเจเจฟ curl เจฆเฉเจเจฐเจพ เจคเฉเจธเฉเจ https เจฌเฉเจจเจคเฉเจเจ GET เจจเจพเจฒ เจจเจนเฉเจ, เจชเจฐ POST เจจเจพเจฒ เจญเฉเจ เจธเจเจฆเฉ เจนเฉ? เจเจน เจเจฟเจเจเจเจฟ, เจเจฟเจตเฉเจ เจเจฟ เจชเฉเจฐเจพเจฃเฉ เจฎเจเจผเจพเจ เจตเจฟเฉฑเจ "NE เจธเจผเฉเจธเจผเฉ เจตเจฟเฉฑเจ เจเฉเฉเจนเจฆเจพ เจนเฉ!" curl เจตเจฟเฉฑเจ เจฒเจเจญเจ 2MB เจเจเจพเจฐ เจฆเฉเจเจ เจเจจเจเฉเจฐเจฟเจชเจธเจผเจจ เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉเจเจ เจธเจผเจพเจฎเจฒ เจนเจจ เจ เจคเฉ เจเจธเจฆเฉ เจเจพเจฐเจจ เจเจน เจธเฉฐเจญเจพเจตเจจเจพ เจจเจนเฉเจ เจนเฉ เจเจฟ เจคเฉเจธเฉเจ เจเฉฑเจ เจเฉเจเฉ TP-LINK ML3020 เจฒเจ เจเฉฑเจ เจเจฟเฉฑเจคเจฐ เจจเฉเฉฐ เจเจเฉฑเจ เจพ เจเจฐเจจ เจฆเฉ เจฏเฉเจ เจนเฉเจตเฉเจเฉ, เจเจฆเจพเจนเจฐเจฃ เจฒเจเฅค เจ เจคเฉ wget เจจเจพเจฒ - เจเจฟเจฐเจชเจพ เจเจฐเจเฉ.
2) เจธเจฐเจตเจฐ เจตเจพเจฒเฉ เจชเจพเจธเฉ (เจฎเฉเจฐเฉ เจเฉเจฒ เจเจฌเฉฐเจเฉ เจนเฉ) เจ เจธเฉเจ เจเจผเฉเจฌเจฟเจเจธ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจพเจเจเฉเฅค เจเจฟเจเจ: เจฎเฉเจ เจเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ เจเจฟ เจเจน เจธเฉเฉฐเจฆเจฐ เจนเฉเจตเฉ (เจเฉเจฐเจพเจซเจผเจพเจ เจฆเฉ เจจเจพเจฒ) เจ เจคเฉ เจธเฉเจตเจฟเจงเจพเจเจจเจ (เจชเฉเจฐเจธเฉฐเจ เจฎเฉเจจเฉ เจฐเจพเจนเฉเจ เจเจฎเจพเจเจกเจพเจ เจญเฉเจเฉ)เฅค เจเจผเฉเจฌเจฟเจเจธ เจเฉเจฒ เจเจผเฉเจฌเจฟเจเจธ เจเจเฉฐเจ เจตเจฐเจเฉ เจธเจผเจพเจจเจฆเจพเจฐ เจเฉเจเจผ เจนเฉเฅค เจเจเฉฐเจ เจฐเจพเจนเฉเจ, เจ เจธเฉเจ เจธเจฐเจตเจฐ 'เจคเฉ เจเฉฑเจ PHP เจธเจเฉเจฐเจฟเจชเจ เจจเฉเฉฐ เจเจพเจฒ เจเจฐเจพเจเจเฉ, เจเฉ เจเจธ เจฌเจพเจฐเฉ เจเจพเจฃเจเจพเจฐเฉ เจตเจพเจชเจธ เจเจฐเฉเจเฉ เจเจฟ เจเฉ เจธเจพเจกเจพ เจฐเจพเจเจเจฐ เจฒเฉเฉเฉเจเจฆเฉ เจธเจฎเฉเจ เจฆเฉเจฐเจพเจจ เจฐเจเจฟเจธเจเจฐ เจนเฉเจเจ เจธเฉ เจเจพเจ เจจเจนเฉเจเฅค เจฐเจเจฟเจธเจเฉเจฐเฉเจธเจผเจจ เจธเจฎเฉเจ เจฌเจพเจฐเฉ เจเจพเจฃเจเจพเจฐเฉ เจธเจเฉเจฐ เจเจฐเจจ เจฒเจ, เจกเจฟเจตเจพเจเจธเจพเจ เจฒเจ เจเจฎเจพเจเจกเจพเจ, เจฎเฉเจ MySQL เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเจพ เจนเจพเจ, เจฒเจเจญเจ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจเฉเจคเจฐเจพเจ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจตเฉฑเจเจฐเฉ เจธเจพเจฐเจฃเฉ เจเจชเจญเฉเจเจคเจพ:
CREATE TABLE `users` (
`id` varchar(25) NOT NULL,
`passwd` varchar(25) NOT NULL,
`description` varchar(150) NOT NULL,
`category` varchar(30) NOT NULL,
`status` varchar(10) NOT NULL,
`last_time` varchar(20) NOT NULL, // ะฒัะตะผั ะฟะพัะปะตะดะฝะตะณะพ ัะพะตะดะธะฝะตะฝะธั
`last_ip` varchar(20) NOT NULL, // IP ะฟะพัะปะตะดะฝะตะณะพ ัะพะตะดะธะฝะตะฝะธั
`last_port` int(11) NOT NULL, // ะฟะพัั ะฟะพัะปะตะดะฝะตะณะพ ัะพะตะดะธะฝะตะฝะธั
`task` text NOT NULL, // ะทะฐะดะฐัะฐ ะบะพัะพััั ะฟะพะปััะฐะตั ัะพััะตั
`reg_task` varchar(150) NOT NULL, // "ัะตะณัะปััะฝะฐั" ะทะฐะดะฐัะฐ, ะตัะปะธ ะผั ะทะฐั
ะพัะธะผ ััะพะฑั ะทะฐะดะฐัะฐ ะฒัะฟะพะปะฝัะปะฐัั ะฒัะตะณะดะฐ ะฟัะธ ัะตะณะธัััะฐัะธะธ
`last_task` text NOT NULL, // ะปะพะณ ะทะฐะดะฐั
`response` text NOT NULL, // ััะดะฐ ะฟะธัะตััั ะพัะฒะตั ััััะพะนััะฒะฐ
`seq` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
เจธเจพเจฐเฉ เจธเจฐเฉเจคเจพเจ เจจเฉเฉฐ เจเจฟเฉฑเจ เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจคเฉเจ เจเฉฑเจฅเฉ เจกเจพเจเจจเจฒเฉเจก เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ:
เจนเฉเจฃ PHP เจธเจเฉเจฐเจฟเจชเจเจพเจ เจจเฉเฉฐ เจธเจฐเจตเจฐ เจธเจพเจเจก 'เจคเฉ เจฐเฉฑเจเจฟเจ เจเจฟเจ เจนเฉ (เจธเจนเฉเจฒเจค เจฒเจ, เจเจนเจจเจพเจ เจจเฉเฉฐ /usr/share/zabbix/ เจซเฉเจฒเจกเจฐ เจตเจฟเฉฑเจ เจฐเฉฑเจเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉ):
a.php เจซเจพเจเจฒ:
<?php
// ะะพะปััะฐะตะผ ะฒั
ะพะดะฝัะต ะฟะฐัะฐะผะตััั: ะธะผั ะฟะพะปัะทะพะฒะฐัะตะปั, ะฟะฐัะพะปั ะธ ัะพะพะฑัะตะฝะธะต ะพั ัะดะฐะปะตะฝะฝะพะณะพ ัะพััะตัะฐ
// ะะฐัะตะผ ะฝัะถะตะฝ message ? ะญัะพ ัะฟะพัะพะฑ ะพัะฒะตัะฐ ัะพััะตัะฐ, ะฝะฐะฟัะธะผะตั ะตัะปะธ ะฒั ะทะฐั
ะพัะธัะต ะฟะพัะผะพััะตัั ัะพะดะตัะถะธะผะพะต ัะฐะนะปะฐ ัะพััะตัะฐ
$user=$_REQUEST['u'];
$password=$_REQUEST['p'];
$message=$_REQUEST['m'];
// ะะพะดะบะปััะฐะตะผัั ะบ ะฝะฐัะตะน ะฑะฐะทะต ะดะฐะฝะฝัั
(MySQL)
$conn=new mysqli("localhost","db_login","db_password","DB_name");
if (mysqli_connect_errno()) {
exit();
}
$conn->set_charset("utf8");
// ะทะดะตัั ะธัะตะผ ะฝะฐั ัะพััะตั ะฒ ัะฐะฑะปะธัะต ะฑะฐะทั ะดะฐะฝะฝัั
$sql_users=$conn->prepare("SELECT task, reg_task, response, last_time FROM users WHERE id=? AND passwd=? AND status='active';");
$sql_users->bind_param('ss', $user, $password);
$sql_users->bind_result($task, $reg_task, $response, $last_time);
$sql_users->execute();
$sql_users->store_result();
if (($sql_users->num_rows)==1){
$sql_users->fetch();
// ะทะดะตัั ะผั ัะพััะตัั ะพัะฟัะฐะฒะปัะตะผ ะตะณะพ ะทะฐะดะฐัะธ
echo $task;
echo "n";
echo $reg_task;
// ะฒะพั ะทะดะตัั ะผั ะฟะธัะตะผ ะฒัะตะผั ะพัะฒะตัะฐ ะธ ัะฐะผ ะพัะฒะตั ัะพััะตัะฐ
$response_history="[".date("Y-m-d H:i")."] ".$message;
// ะทะฐะดะฐัั ะพัะฟัะฐะฒะธะปะธ, ัะตะฟะตัั ะฝะฐะดะพ ะตะต ัะดะฐะปะธัั,ะฐ ะฟะพัะปะต ัะดะฐะปะตะฝะธั ะพัะผะตัะธัั ะฒ ะปะพะณะฐั
, ััะพ ัะฐะบะฐั-ัะพ ะทะฐะดะฐัะฐ ะฒัะฟะพะปะฝะตะฝะฐ
$last_ip=$_SERVER["REMOTE_ADDR"];
$last_port=$_SERVER["REMOTE_PORT"];
$ts_last_conn_time=$last_time;
$sql_users=$conn->prepare("UPDATE users SET task='', seq=1 WHERE (id=?);");
$sql_users->bind_param('s', $user);
$sql_users->execute();
if (strlen($message)>1){
$sql_users=$conn->prepare("UPDATE users SET response=?, seq=1 WHERE (id=?);");
$sql_users->bind_param('ss', $response_history, $user);
$sql_users->execute();
}
// ัะตะฟะตัั ะฝะฐะดะพ ัะพั
ัะฐะฝะธัั ะฒัะตะผั ัะตะณะธัััะฐัะธะธ ะฟะพะปัะทะพะฒะฐัะตะปั, ะตะณะพ ะฐะนะฟะธ ะธ ัะพะพะฑัะตะฝะธะต ะพั ะฝะตะณะพ. ะะพะบะฐ ัะพะปัะบะพ ัะพะพะฑัะตะฝะธะต
$ts_now=time();
$sql_users=$conn->prepare("UPDATE users SET last_time=?, last_ip=?, last_port=? WHERE (id=?);");
$sql_users->bind_param('ssss', $ts_now, $last_ip, $last_port, $user);
$sql_users->execute();
}
// ะตัะปะธ ะผั ะฝะต ะฝะฐัะปะธ ัะพััะตั ะฒ ะฝะฐัะตะน ะฑะฐะทะต ะดะฐะฝะฝัั
, ะธะปะธ ะตะณะพ ััะฐััั "ะฝะตะฐะบัะธะฒะฝัะน", ัะพ ะตะผั ... ะฑัะดะตั ะพัะฟัะฐะฒะปะตะฝะฐ ะบะพะผะฐะฝะดะฐ reboot....
// ะะพัะตะผั ัะฐะบ ะถะตััะพะบะพ ? ะะพัะพะผั ััะพ ัะพััะตัั ะธะฝะพะณะดะฐ ะฟัะพะฟะฐะดะฐัั, ะฐ ััะพ ะผะฐะปะตะฝัะบะธะน ัะฟะพัะพะฑ ะฟัะพััะธัั "ะฝะพะฒัั
ะฒะปะฐะดะตะปััะตะฒ".
else
{
echo "reboot";
}
$sql_users->close();
?>
Agent.php เจซเจพเจเจฒ (เจเจน เจเจผเฉเจฌเจฟเจเจธ เจเจเฉฐเจ เจฆเฉ เจธเจเฉเจฐเจฟเจชเจ เจนเฉ เจเจฟเจธเจจเฉเฉฐ เจเจฟเจนเจพ เจเจพเจเจฆเจพ เจนเฉ):
<?php
// ัะฐะนะป ะฐะณะตะฝัะฐ Zabbix. ะะฐะฝะฝัะน ัะบัะธะฟั ะพะฑัะฐัะฐะตััั ะบ ัะฐะฑะปะธัะต users ะธ ะฟะพะปััะฐะตั "1" ะตัะปะธ ััััะพะนััะฒะพ ัะตะณะธัััะธัะพะฒะฐะปะพัั ั ะผะพะผะตะฝัะฐ ะฟะพัะปะตะดะฝะตะณะพ ะพะฑัะฐัะตะฝะธั
// user ะธ password - ััะตัะฝัะต ะดะฐะฝะฝัะต ะพะฑะพััะดะพะฒะฐะฝะธั
$user = $argv[1];
$password = $argv[2];
// ะฟะพะดะบะปััะฐะตะผัั ะบ ะฝะฐัะตะน ะฑะฐะทะต ะดะฐะฝะฝัั
$conn=new mysqli("localhost","db_user","db_password","db_name");
if (mysqli_connect_errno()) {
exit();
}
$conn->set_charset("utf8");
$sql_users=$conn->prepare("SELECT seq FROM users WHERE id=? AND passwd=? AND status='active';");
$sql_users->bind_param('ss', $user, $password);
$sql_users->bind_result($seq);
$sql_users->execute();
$sql_users->store_result();
// ะพะฑะผะตะฝ ะดะฐะฝะฝัะผะธ ะฟัะพะธัั
ะพะดะธั ัะตัะตะท ะฟะพะปะต seq. ะัะธ ัะตะณะธัััะฐัะธะธ ะถะตะปะตะทะบะฐ ััะฐะฒะธั ะดะฐะฝะฝะพะต ะฟะพะปะต ะฒ "1"
if (($sql_users->num_rows)==1){
$sql_users->fetch();
echo $seq;
}
// ะพะฑะฝัะปัะตะผ $seq.
$sql_users=$conn->prepare("UPDATE users SET seq=0 WHERE id=? AND passwd=? AND status='active';");
$sql_users->bind_param('ss', $user, $password);
$sql_users->execute();
$sql_users->close();
?>
เจเฉเจฐ, เจ เฉฐเจคเจฎ เจชเฉเจพเจ : เจเฉฑเจ เจเจเฉฐเจ เจจเฉเฉฐ เจฐเจเจฟเจธเจเจฐ เจเจฐเจจเจพ เจ เจคเฉ เจธเจฎเจพเจ-เจธเจพเจฐเจฃเฉ เจเฉเฉเจจเจพเฅค
เจเฉเจเจฐ เจคเฉเจธเฉเจ เจ เจเฉ เจคเฉฑเจ เจเจผเฉเจฌเจฟเจเจธ เจเจเฉฐเจ เจธเจฅเจพเจชเจค เจจเจนเฉเจ เจเฉเจคเจพ เจนเฉ, เจคเจพเจ:
apt-get install zabbix-agent
เจซเจพเจเจฒ เจจเฉเฉฐ เจธเฉเจงเฉ /etc/zabbix/zabbix_agentd.confเฅค
เจฒเจพเจเจจ เจเฉเฉเฉ:
UserParameter=test,php /usr/share/zabbix/agent.php user password
, เจเจฟเฉฑเจฅเฉ:
เจเฉเจธเจ เจธเจพเจกเฉ เจเจเฉฐเจ เจฆเจพ เจจเจพเจฎ เจนเฉ
โphp/usr/share/zabbix/agent.php เจฏเฉเจเจผเจฐ เจชเจพเจธเจตเจฐเจกโ - เจกเจฟเจตเจพเจเจธ เจฐเจเจฟเจธเจเฉเจฐเฉเจธเจผเจจ เจกเฉเจเจพ เจจเฉเฉฐ เจฆเจฐเจธเจพเจเจฃ เจตเจพเจฒเฉ เจเฉฑเจ เจธเจเฉเจฐเจฟเจชเจ เจเจนเฉ เจเจพเจเจฆเฉ เจนเฉเฅค
เจเจพเจฐเจ เจเฉเฉเจจเจพ: เจเจผเฉเจฌเจฟเจเจธ เจตเฉเฉฑเจฌ เจเฉฐเจเจฐเจซเฉเจธ เจเฉเจฒเฉเจนเฉ, เจฎเฉเจจเฉ เจตเจฟเฉฑเจเฉเจ เจเฉเจฃเฉ:
เจธเฉเจเจฟเฉฐเจเจพเจ -> เจจเฉเจเจตเจฐเจ เจจเฉเจก -> เจเฉฑเจ เจจเฉเจเจตเจฐเจ เจจเฉเจก เจฌเจฃเจพเจเฅค เจเฉฑเจฅเฉ เจจเฉเฉฑเจเจตเจฐเจ เจนเฉเจธเจ, เจเจธเจฆเฉ เจธเจฎเฉเจน, เจ
เจคเฉ เจกเจฟเจซเฉเจฒเจ เจเจเฉฐเจ เจเฉฐเจเจฐเจซเฉเจธ เจฆเจพ เจจเจพเจฎ เจฆเฉเจฃ เจฒเจ เจเจพเจซเจผเฉ เจนเฉ:
เจนเฉเจฃ เจธเจพเจจเฉเฉฐ เจเจธ เจจเฉเฉฑเจเจตเจฐเจ เจจเฉเจก เจฒเจ เจเฉฑเจ เจกเจพเจเจพ เจเจฒเฉเจฎเฉเจเจ เจเฉเฉเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค เจฆเฉ เจเฉเจคเจฐเจพเจ เจตเฉฑเจฒ เจงเจฟเจเจจ เจฆเจฟเจ: "เจเฉเฉฐเจเฉ" - เจเจน เจฌเจฟเจฒเจเฉเจฒ เจเจนเฉ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจนเฉ เจเฉ เจ
เจธเฉเจ /etc/zabbix/zabbix_agentd.conf เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจฒเจฟเจเจฟเจ เจนเฉ (เจธเจพเจกเฉ เจเฉเจธ เจตเจฟเฉฑเจ เจเจน เจเฉเจธเจ เจนเฉ), เจ
เจคเฉ "เจ
เฉฑเจชเจกเฉเจ เจ
เฉฐเจคเจฐเจพเจฒ" - เจฎเฉเจ เจเจธเจจเฉเฉฐ 5 เจฎเจฟเฉฐเจเจพเจ 'เจคเฉ เจธเฉเฉฑเจ เจเฉเจคเจพ เจนเฉเฅค , เจเจฟเจเจเจเจฟ เจ
เจคเฉ เจธเจพเจเจผเฉ-เจธเจพเจฎเจพเจจ เจตเฉ เจนเจฐ เจชเฉฐเจ เจฎเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจตเจพเจฐ เจธเจฐเจตเจฐ 'เจคเฉ เจฐเจเจฟเจธเจเจฐ เจนเฉเฉฐเจฆเจพ เจนเฉเฅค
เจเฉเจฐ, เจเจ เจเฉฑเจ เจเฉเจฐเจพเจซ เจเฉเฉเฉเจเฅค เจฎเฉเจ เจฐเฉเจเจกเจฐเจฟเฉฐเจ เจธเจผเฉเจฒเฉ เจฆเฉ เจคเฉเจฐ 'เจคเฉ "เจซเจฟเจฒ" เจจเฉเฉฐ เจเฉเจฃเจจ เจฆเฉ เจธเจฟเจซเจผเจพเจฐเจฟเจธเจผ เจเจฐเจฆเจพ เจนเจพเจเฅค
เจเจเจเจชเฉเฉฑเจ เจเฉเจ เจฌเจนเฉเจค เจนเฉ เจธเฉฐเจเฉเจช เจนเฉ, เจเจฆเจพเจนเจฐเจจ เจฒเจ เจเจธ เจคเจฐเฉเจนเจพเจ:
เจตเจพเจเจฌ เจธเจตเจพเจฒ เจฒเจ: "เจเฉ เจเจน เจเจธเจฆเฉ เจเฉเจฎเจค เจธเฉ?", เจฎเฉเจ เจเจตเจพเจฌ เจฆเจฟเจเจเจเจพ: เจ เฉเจ เจนเฉ, เจฌเฉเจธเจผเจ, เจฒเฉเจ เจฆเฉ เจธเจผเฉเจฐเฉ เจตเจฟเฉฑเจ "เจธเจพเจเจเจฒ เจฌเจฃเจพเจเจฃ เจฆเฉ เจเจพเจฐเจจ" เจฆเฉเจเฉเฅค
เจเฉ เจฎเฉเจฐเจพ เจชเจนเจฟเจฒเจพ เจเฉเจฐเจพเจซเฉเจฎเฉเจจเจฟเจ เจ
เจจเฉเจญเจต เจชเจพเจ เจเจพเจ เจฆเฉ เจฆเจฟเจฒเจเจธเจชเฉ เจชเฉเจฆเจพ เจเจฐเจฆเจพ เจนเฉ, เจคเจพเจ เจ
เจเจฒเฉ เจฒเฉเจเจพเจ เจตเจฟเฉฑเจ เจฎเฉเจ เจตเจฐเจฃเจจ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ เจเจฟ เจฐเจฟเจฎเฉเจ เจเจชเจเจฐเจฃเจพเจ เจจเฉเฉฐ เจเจฎเจพเจเจกเจพเจ เจเจฟเจตเฉเจ เจญเฉเจเจฃเฉเจเจ เจนเจจ. เจ
เจธเฉเจ RouterOS (Mikrotik) 'เจคเฉ เจเจงเจพเจฐเจฟเจค เจกเจฟเจตเจพเจเจธเจพเจ เจฒเจ เจชเฉเจฐเฉ เจธเจเฉเจฎ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจ เจตเจฟเฉฑเจ เจตเฉ เจเจพเจฎเจฏเจพเจฌ เจฐเจนเฉเฅค
เจธเจฐเฉเจค: www.habr.com