เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ SSH เจ•เฉเจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจฒเจˆ เจŸเฉเจฐเฉˆเจช (เจŸเจพเจฐเจชเจฟเจŸ)

เจ‡เจน เจ•เฉ‹เจˆ เจฐเจนเฉฑเจธ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ•เจฟ เจ‡เฉฐเจŸเจฐเจจเฉˆเจŸ เจ‡เฉฑเจ• เจฌเจนเฉเจค เจนเฉ€ เจตเจฟเจฐเฉ‹เจงเฉ€ เจฎเจพเจนเฉŒเจฒ เจนเฉˆ. เจœเจฟเจตเฉ‡เจ‚ เจนเฉ€ เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจšเฉเฉฑเจ•เจฆเฉ‡ เจนเฉ‹, เจ‡เจน เจคเฉเจฐเฉฐเจค เจตเฉฑเจกเฉ‡ เจนเจฎเจฒเฉ‡ เจ…เจคเฉ‡ เจฎเจฒเจŸเฉ€เจชเจฒ เจธเจ•เฉˆเจจ เจฆเฉ‡ เจ…เจงเฉ€เจจ เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจฃ เจฒเจˆ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจ—เจพเจฐเจกเจพเจ‚ เจคเฉ‹เจ‚ เจนเจจเฉ€เจชเจพเจŸ เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจ•เฉ‚เฉœเฉ‡ เจฆเฉ€ เจ†เจตเจพเจœเจพเจˆ เจฆเฉ‡ เจชเฉˆเจฎเจพเจจเฉ‡ เจฆเจพ เจ…เฉฐเจฆเจพเจœเจผเจพ เจฒเจ—เจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจตเจพเจธเจคเจต เจตเจฟเฉฑเจš, เจ”เจธเจค เจธเจฐเจตเจฐ 'เจคเฉ‡, 99% เจŸเฉเจฐเฉˆเจซเจฟเจ• เจ–เจคเจฐเจจเจพเจ• เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ.

เจŸเจพเจฐเจชเจฟเจŸ เจ‡เฉฑเจ• เจŸเฉเจฐเฉˆเจช เจชเฉ‹เจฐเจŸ เจนเฉˆ เจœเฉ‹ เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ เจ•เฉเจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉŒเจฒเฉ€ เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจ•เฉ‹เจˆ เจคเฉ€เจœเฉ€-เจงเจฟเจฐ เจธเจฟเจธเจŸเจฎ เจ‡เจธ เจชเฉ‹เจฐเจŸ เจจเจพเจฒ เจœเฉเฉœเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจคเฉเจฐเฉฐเจค เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฌเฉฐเจฆ เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‹เจ—เฉ‡เฅค เจ‰เจธเจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจธเจฟเจธเจŸเจฎ เจธเจฐเฉ‹เจคเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฐเจฌเจพเจฆ เจ•เจฐเจจเจพ เจชเจเจ—เจพ เจ…เจคเฉ‡ เจ•เจจเฉˆเจ•เจธเจผเจจ เจฆเจพ เจธเจฎเจพเจ‚ เจธเจฎเจพเจชเจค เจนเฉ‹เจฃ เจคเฉฑเจ• เจ‰เจกเฉ€เจ• เจ•เจฐเจจเฉ€ เจชเจตเฉ‡เจ—เฉ€, เจœเจพเจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจนเฉฑเจฅเฉ€เจ‚ เจฌเฉฐเจฆ เจ•เจฐเจจเจพ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจ…เจ•เจธเจฐ, เจŸเจพเจฐเจชเจฟเจŸเจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจฒเจˆ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจ‡เจน เจคเจ•เจจเฉ€เจ• เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ•เฉฐเจชเจฟเจŠเจŸเจฐ เจฆเฉ‡ เจ•เฉ€เฉœเจฟเจ†เจ‚ เจคเฉ‹เจ‚ เจฌเจšเจพเจ‰เจฃ เจฒเจˆ เจตเจฟเจ•เจธเจฟเจค เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€เฅค เจ…เจคเฉ‡ เจนเฉเจฃ เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจธเจชเฉˆเจฎเจฐเจพเจ‚ เจ…เจคเฉ‡ เจ–เฉ‹เจœเจ•เจฐเจคเจพเจตเจพเจ‚ เจฆเฉ‡ เจœเฉ€เจตเจจ เจจเฉ‚เฉฐ เจฌเจฐเจฌเจพเจฆ เจ•เจฐเจจ เจฒเจˆ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ เจœเฉ‹ เจ‡เฉฑเจ• เจ•เจคเจพเจฐ เจตเจฟเฉฑเจš เจธเจพเจฐเฉ‡ IP เจชเจคเจฟเจ†เจ‚ เจฆเฉ€ เจตเจฟเจ†เจชเจ• เจธเจ•เฉˆเจจเจฟเฉฐเจ— เจตเจฟเฉฑเจš เจฐเฉเฉฑเจเฉ‡ เจนเฉ‹เจ เจนเจจ (เจนเจพเจฌเจฐเฉ‡ เจ‰เฉฑเจคเฉ‡ เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚: เจ†เจธเจŸเจฐเฉ€เจ†, เจฏเฉ‚เจ•เจฐเฉ‡เจจ).

เจ•เฉเจฐเจฟเจธ เจตเฉˆเจฒเจจเจœเจผ เจจเจพเจฎเจ• เจธเจฟเจธเจŸเจฎ เจชเฉเจฐเจธเจผเจพเจธเจ•เจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจ‡เจธ เจฌเฉ‡เจ‡เฉฑเจœเจผเจคเฉ€ เจจเฉ‚เฉฐ เจฆเฉ‡เจ– เจ•เฉ‡ เจœเจผเจพเจนเจฐ เจคเฉŒเจฐ 'เจคเฉ‡ เจฅเฉฑเจ• เจ—เจฟเจ† เจธเฉ€ - เจ…เจคเฉ‡ เจ‰เจธเจจเฉ‡ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเจพ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฒเจฟเจ–เจฟเจ† เจฌเฉ‡เจ…เฉฐเจค, SSH เจฒเจˆ เจ‡เฉฑเจ• เจŸเจพเจฐเจชเจฟเจŸ เจœเฉ‹ เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ เจ•เฉเจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉŒเจฒเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจ‡เฉฑเจ• เจชเฉ‹เจฐเจŸ เจ–เฉ‹เจฒเฉเจนเจฆเจพ เจนเฉˆ (เจŸเฉˆเจธเจฟเฉฐเจ— เจฒเจˆ เจกเจฟเจซเฉŒเจฒเจŸ เจชเฉ‹เจฐเจŸ 2222 เจนเฉˆ) เจ…เจคเฉ‡ เจ‡เฉฑเจ• SSH เจธเจฐเจตเจฐ เจนเฉ‹เจฃ เจฆเจพ เจฆเจฟเจ–เจพเจตเจพ เจ•เจฐเจฆเจพ เจนเฉˆ, เจชเจฐ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ‡เจน เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ เจ•เจฒเจพเจ‡เฉฐเจŸ เจจเจพเจฒ เจ‡เฉฑเจ• เจฌเฉ‡เจ…เฉฐเจค เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจธเจฅเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจ‡เจน เจนเจพเจฐ เจจเจนเฉ€เจ‚ เจฎเฉฐเจจเจฆเจพเฅค เจ‡เจน เจ•เจˆ เจฆเจฟเจจเจพเจ‚ เจœเจพเจ‚ เจ‡เจธ เจคเฉ‹เจ‚ เจตเฉฑเจง เจธเจฎเฉ‡เจ‚ เจคเฉฑเจ• เจœเจพเจฐเฉ€ เจฐเจนเจฟ เจธเจ•เจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจ—เจพเจนเจ• เจกเจฟเฉฑเจ— เจจเจนเฉ€เจ‚ เจœเจพเจ‚เจฆเจพเฅค

เจธเจนเฉ‚เจฒเจค เจฆเฉ€ เจธเจฅเจพเจชเจจเจพ:

$ make
$ ./endlessh &
$ ssh -p2222 localhost

เจ‡เฉฑเจ• เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจŸเฉˆเจฐเจชเจฟเจŸ เจนเจฎเจฒเจพเจตเจฐ เจคเฉ‹เจ‚ เจคเฉเจนเจพเจกเฉ‡ เจจเจพเจฒเฉ‹เจ‚ เจตเฉฑเจง เจธเจฐเฉ‹เจค เจฒเจตเฉ‡เจ—เจพเฅค เจชเจฐ เจ‡เจน เจธเจพเจงเจจเจพเจ‚ เจฆเฉ€ เจ—เฉฑเจฒ เจตเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจฒเฉ‡เจ–เจ• เจ‰เจน เจฒเจฟเจ–เจฆเจพ เจนเฉˆเจ•เจฟ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจ†เจฆเฉ€ เจนเฉˆเฅค เจ‡เจธ เจธเจฎเฉ‡เจ‚ เจ‡เจธ เจตเจฟเฉฑเจš 27 เจ—เจพเจนเจ• เจซเจธเฉ‡ เจนเฉ‹เจ เจนเจจ, เจœเจฟเจจเฉเจนเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ•เฉเจ เจนเจซเจผเจคเจฟเจ†เจ‚ เจฒเจˆ เจœเฉเฉœเฉ‡ เจนเฉ‹เจ เจนเจจเฅค เจ—เจคเฉ€เจตเจฟเจงเฉ€ เจฆเฉ‡ เจธเจฟเจ–เจฐ 'เจคเฉ‡, 1378 เจ—เจพเจนเจ• 20 เจ˜เฉฐเจŸเจฟเจ†เจ‚ เจฒเจˆ เจซเจธเฉ‡ เจนเฉ‹เจ เจธเจจ!

เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจฎเฉ‹เจก เจตเจฟเฉฑเจš, เจเจ‚เจกเจฒเฉ‡เจธเจผ เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจ†เจฎ เจชเฉ‹เจฐเจŸ 22 'เจคเฉ‡ เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจœเจฟเฉฑเจฅเฉ‡ เจ—เฉเฉฐเจกเฉ‡ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจฆเจธเจคเจ• เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจเฅค เจฎเจฟเจ†เจฐเฉ€ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจธเจฟเจซเจผเจพเจฐเจฟเจธเจผเจพเจ‚ เจนเจฎเฉ‡เจธเจผเจพ SSH เจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจตเฉฑเจ–เจฐเฉ‡ เจชเฉ‹เจฐเจŸ 'เจคเฉ‡ เจฒเจฟเจœเจพเจฃ เจฆเฉ€ เจธเจฒเจพเจน เจฆเจฟเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ, เจœเฉ‹ เจคเฉเจฐเฉฐเจค เจฒเฉŒเจ—เจธ เจฆเฉ‡ เจ†เจ•เจพเจฐ เจจเฉ‚เฉฐ เจคเฉ€เจฌเจฐเจคเจพ เจฆเฉ‡ เจ•เฉเจฐเจฎ เจฆเฉเจ†เจฐเจพ เจ˜เจŸเจพเจ‰เจ‚เจฆเฉ€เจ†เจ‚ เจนเจจเฅค

เจ•เฉเจฐเจฟเจธ เจตเฉ‡เจฒเจจเจœเจผ เจฆเจพ เจ•เจนเจฟเจฃเจพ เจนเฉˆ เจ•เจฟ เจ‰เจธเจฆเจพ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจจเจฟเจฐเจงเจพเจฐเจจ เจฆเฉ‡ เจ‡เฉฑเจ• เจชเฉˆเจฐเฉ‡ เจฆเจพ เจธเจผเฉ‹เจธเจผเจฃ เจ•เจฐเจฆเจพ เจนเฉˆ RFC 4253 SSH เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจจเฉ‚เฉฐ. เจ‡เฉฑเจ• TCP เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจธเจฅเจพเจชเจค เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจคเฉเจฐเฉฐเจค เจฌเจพเจ…เจฆ, เจชเจฐ เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเฉ€ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจฆเฉ‹เจตเจพเจ‚ เจงเจฟเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจชเจ›เจพเจฃ เจธเจคเจฐ เจญเฉ‡เจœเจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆเฅค เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจจเฉ‹เจŸ เจตเฉ€ เจนเฉˆ: "เจตเจฐเจœเจจ เจ•เจคเจพเจฐ เจญเฉ‡เจœเจฃ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจธเจฐเจตเจฐ เจกเจพเจŸเจพ เจฆเฉ€เจ†เจ‚ เจนเฉ‹เจฐ เจ•เจคเจพเจฐเจพเจ‚ เจญเฉ‡เจœ เจธเจ•เจฆเจพ เจนเฉˆ". เจ…เจคเฉ‡ เจ•เฉ‹เจˆ เจธเฉ€เจฎเจพ เจจเจนเฉ€เจ‚ เจ‡เจธ เจกเฉ‡เจŸเจพ เจฆเฉ€ เจฎเจพเจคเจฐเจพ 'เจคเฉ‡, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจนเจฐ เจฒเจพเจˆเจจ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ SSH-.

เจ‡เจน เจฌเจฟเจฒเจ•เฉเจฒ เจ‰เจนเฉ€ เจนเฉˆ เจœเฉ‹ เจเจ‚เจกเจฒเฉ‡เจธเจผ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ: เจ‡เจน เจญเฉ‡เจœเจฆเจพ เจนเฉˆ เจ…เจจเฉฐเจค เจฌเฉ‡เจคเจฐเจคเฉ€เจฌเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ‡ เจกเฉ‡เจŸเจพ เจฆเฉ€ เจธเจŸเฉเจฐเฉ€เจฎ, เจœเฉ‹ เจ•เจฟ RFC 4253 เจฆเฉ€ เจชเจพเจฒเจฃเจพ เจ•เจฐเจฆเฉ‡ เจนเจจ, เจฏเจพเจจเฉ€ เจชเฉเจฐเจฎเจพเจฃเจฟเจ•เจคเจพ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจญเฉ‡เจœเฉ‹, เจ…เจคเฉ‡ เจนเจฐเฉ‡เจ• เจฒเจพเจˆเจจ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ SSH- เจ…เจคเฉ‡ เจฒเจพเจˆเจจ เจฆเฉ‡ เจ…เฉฐเจค เจตเจพเจฒเฉ‡ เจ…เฉฑเจ–เจฐ เจธเจฎเฉ‡เจค 255 เจ…เฉฑเจ–เจฐเจพเจ‚ เจคเฉ‹เจ‚ เจตเฉฑเจง เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจธเจญ เจ•เฉเจ เจฎเจฟเจ†เจฐ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจนเฉเฉฐเจฆเจพ เจนเฉˆ.

เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš, เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจชเฉˆเจ•เฉ‡เจŸ เจญเฉ‡เจœเจฃ เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ 10 เจธเจ•เจฟเฉฐเจŸ เจ‰เจกเฉ€เจ• เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เจน เจ•เจฒเจพเจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจธเจฎเจพเจ‚ เจธเจฎเจพเจชเจค เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจฐเฉ‹เจ•เจฆเจพ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจ•เจฒเจพเจ‡เฉฐเจŸ เจนเจฎเฉ‡เจธเจผเจพ เจฒเจˆ เจซเจธ เจœเจพเจตเฉ‡เจ—เจพเฅค

เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเฉ€ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจกเฉ‡เจŸเจพ เจญเฉ‡เจœเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฌเจนเฉเจค เจนเฉ€ เจธเจงเจพเจฐเจจ เจนเฉˆเฅค เจ‡เจธ เจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเจฟเจซเจฐ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ…เจคเฉ‡ เจฎเจฒเจŸเฉ€เจชเจฒ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจฒเฉ‡เจ–เจ• เจจเฉ‡ เจ‡เจน เจธเฉเจจเจฟเจธเจผเจšเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เฉ€เจคเฉ€ เจ•เจฟ เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจ˜เฉฑเจŸเฉ‹ เจ˜เฉฑเจŸ เจธเจฐเฉ‹เจคเจพเจ‚ เจฆเฉ€ เจ–เจชเจค เจ•เจฐเจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจฎเจธเจผเฉ€เจจ 'เจคเฉ‡ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจ…เจฃเจ—เฉŒเจฒเจฟเจ† เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจ†เจงเฉเจจเจฟเจ• เจเจ‚เจŸเฉ€เจตเจพเจ‡เจฐเจธ เจ…เจคเฉ‡ เจนเฉ‹เจฐ "เจธเฉเจฐเฉฑเจ–เจฟเจ† เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚" เจฆเฉ‡ เจ‰เจฒเจŸ, เจ‡เจธ เจจเฉ‚เฉฐ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉฐเจชเจฟเจŠเจŸเจฐ เจจเฉ‚เฉฐ เจนเฉŒเจฒเฉ€ เจจเจนเฉ€เจ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพเฅค เจ‰เจธเจจเฉ‡ เจฅเฉ‹เฉœเฉเจนเจพ เจนเฉ‹เจฐ เจšเจฒเจพเจ• เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ‡ เจ•เจพเจฐเจจ เจŸเฉเจฐเฉˆเจซเจฟเจ• เจ…เจคเฉ‡ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฆเฉ€ เจ–เจชเจค เจฆเฉ‹เจตเจพเจ‚ เจจเฉ‚เฉฐ เจ˜เฉฑเจŸ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ•เจพเจฎเจฏเจพเจฌ เจฐเจฟเจนเจพเฅค เจœเฉ‡เจ•เจฐ เจ‡เจธเจจเฉ‡ เจ‡เฉฑเจ• เจจเจตเฉ‡เจ‚ เจ•เจจเฉˆเจ•เจธเจผเจจ 'เจคเฉ‡ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเฉ€, เจคเจพเจ‚ เจธเฉฐเจญเจพเจตเฉ€ เจนเจฎเจฒเจพเจตเจฐ เจฎเจธเจผเฉ€เจจ 'เจคเฉ‡ เจธเจฐเฉ‹เจคเจพเจ‚ เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐเจจ เจฒเจˆ เจฎเจฒเจŸเฉ€เจชเจฒ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจ–เฉ‹เจฒเฉเจน เจ•เฉ‡ เจ‡เฉฑเจ• DDoS เจนเจฎเจฒเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจชเฉเจฐเจคเฉ€ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจ‡เฉฑเจ• เจฅเจฐเจฟเฉฑเจก เจตเฉ€ เจธเจญ เจคเฉ‹เจ‚ เจตเจงเฉ€เจ† เจตเจฟเจ•เจฒเจช เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ•เจฐเจจเจฒ เจฅเจฐเจฟเฉฑเจกเจพเจ‚ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจธเจฐเฉ‹เจคเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฐเจฌเจพเจฆ เจ•เจฐเฉ‡เจ—เจพเฅค

เจ‡เจธ เจฒเจˆ เจ•เฉเจฐเจฟเจธ เจตเฉ‡เจฒเฉ‹เจจเจœเจผ เจจเฉ‡ เจเจ‚เจกเจฒเฉ‡เจธเจผ เจฒเจˆ เจธเจญ เจคเฉ‹เจ‚ เจนเจฒเจ•เจพ เจตเจฟเจ•เจฒเจช เจšเฉเจฃเจฟเจ†: เจ‡เฉฑเจ• เจธเจฟเฉฐเจ—เจฒ-เจฅเจฐเจฟเฉฑเจกเจก เจธเจฐเจตเจฐ poll(2), เจœเจฟเฉฑเจฅเฉ‡ เจŸเจฐเฉˆเจช เจตเจฟเฉฑเจš เจ—เฉเจฐเจพเจนเจ• เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจตเจพเจงเฉ‚ เจธเจฐเฉ‹เจค เจจเจนเฉ€เจ‚ เจตเจฐเจคเจฆเฉ‡, เจ•เจฐเจจเจฒ เจตเจฟเฉฑเจš เจธเจพเจ•เจŸ เจ†เจฌเจœเฉˆเจ•เจŸ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡ เจ…เจคเฉ‡ เจเจ‚เจกเจฒเฉ‡เจธเจผ เจตเจฟเฉฑเจš เจŸเจฐเฉˆเจ•เจฟเฉฐเจ— เจฒเจˆ เจนเฉ‹เจฐ 78 เจฌเจพเจˆเจŸเจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจนเจฐเฉ‡เจ• เจ•เจฒเจพเจ‡เฉฐเจŸ เจฒเจˆ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจ…เจคเฉ‡ เจญเฉ‡เจœเจฃ เจตเจพเจฒเฉ‡ เจฌเจซเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจšเจฃ เจฒเจˆ, เจเจ‚เจกเจฒเฉ‡เจธเจผ เจ‡เฉฑเจ• เจธเจฟเฉฑเจงเฉ€ เจชเจนเฉเฉฐเจš เจธเจพเจ•เจŸ เจ–เฉ‹เจฒเฉเจนเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจฒเจ—เจญเจ— เจชเฉ‚เจฐเฉ‡ เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ TCP/IP เจธเจŸเฉˆเจ• เจจเฉ‚เฉฐ เจฌเจพเจˆเจชเจพเจธ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจธเจฟเฉฑเจงเฉ‡ TCP เจชเฉˆเจ•เฉ‡เจŸเจพเจ‚ เจฆเจพ เจ…เจจเฉเจตเจพเจฆ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ เจฌเจซเจฐ เจฆเฉ€ เจฌเจฟเจฒเจ•เฉเจฒ เจตเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจธเจพเจจเฉ‚เฉฐ เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ เจกเฉ‡เจŸเจพ เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจฆเจฟเจฒเจšเจธเจชเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

เจฒเฉ‡เจ–เจ• เจฆเจพ เจ•เจนเจฟเจฃเจพ เจนเฉˆ เจ•เจฟ เจ‰เจธ เจฆเฉ‡ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจธเจฎเฉ‡เจ‚ เจธ เจชเจคเจพ เจจเจนเฉ€เจ‚ เจธเฉ€ เจชเจพเจˆเจฅเจจ เจฆเฉ‡ เจเจธเฉ€เจธเฉ€เจ“ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจŸเจพเจฐเจชเจฟเจŸเจธ เจฆเฉ€ เจนเฉ‹เจ‚เจฆ เจฌเจพเจฐเฉ‡เฅค เจœเฉ‡ เจ‰เจน เจเจธเฉ€เจธเฉ€เจ“ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจฆเจพ เจธเฉ€, เจคเจพเจ‚ เจ‰เจน เจชเจพเจˆเจฅเจจ เจตเจฟเฉฑเจš เจธเจฟเจฐเจซ 18 เจฒเจพเจˆเจจเจพเจ‚ เจตเจฟเฉฑเจš เจ†เจชเจฃเฉ€ เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ:

import asyncio
import random

async def handler(_reader, writer):
try:
while True:
await asyncio.sleep(10)
writer.write(b'%xrn' % random.randint(0, 2**32))
await writer.drain()
except ConnectionResetError:
pass

async def main():
server = await asyncio.start_server(handler, '0.0.0.0', 2222)
async with server:
await server.serve_forever()

asyncio.run(main())

Asyncio tarpits เจฒเจฟเจ–เจฃ เจฒเจˆ เจ†เจฆเจฐเจธเจผ เจนเฉˆ. เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เจน เจนเฉเฉฑเจ• เจซเจพเจ‡เจฐเจซเจพเจ•เจธ, เจ•เจฐเฉ‹เจฎ, เจœเจพเจ‚ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจ•เจฒเจพเจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจซเฉเจฐเฉ€เจœเจผ เจ•เจฐ เจฆเฉ‡เจตเฉ‡เจ—เจพ เจœเฉ‹ เจ•เจˆ เจ˜เฉฐเจŸเจฟเจ†เจ‚ เจฒเจˆ เจคเฉเจนเจพเจกเฉ‡ HTTP เจธเจฐเจตเจฐ เจจเจพเจฒ เจœเฉเฉœเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ:

import asyncio
import random

async def handler(_reader, writer):
writer.write(b'HTTP/1.1 200 OKrn')
try:
while True:
await asyncio.sleep(5)
header = random.randint(0, 2**32)
value = random.randint(0, 2**32)
writer.write(b'X-%x: %xrn' % (header, value))
await writer.drain()
except ConnectionResetError:
pass

async def main():
server = await asyncio.start_server(handler, '0.0.0.0', 8080)
async with server:
await server.serve_forever()

asyncio.run(main())

Tarpit เจ”เจจเจฒเจพเจˆเจจ เจ—เฉเฉฐเจกเฉ‡ เจจเฉ‚เฉฐ เจธเจœเจผเจพ เจฆเฉ‡เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจตเจงเฉ€เจ† เจธเจพเจงเจจ เจนเฉˆเฅค เจ‡เจน เจธเฉฑเจš เจนเฉˆ เจ•เจฟ, เจ‡เจธเจฆเฉ‡ เจ‰เจฒเจŸ, เจ•เจฟเจธเฉ‡ เจ–เจพเจธ เจธเจฐเจตเจฐ เจฆเฉ‡ เจ…เจธเจพเจงเจพเจฐเจจ เจตเจฟเจตเจนเจพเจฐ เจตเฉฑเจฒ เจ‰เจนเจจเจพเจ‚ เจฆเจพ เจงเจฟเจ†เจจ เจ–เจฟเฉฑเจšเจฃ เจฆเจพ เจ•เฉเจ เจœเฉ‹เจ–เจฎ เจนเฉˆ. เจ•เฉ‹เจˆ เจฌเจฆเจฒเจพ เจฒเฉˆเจฃ เจฌเจพเจฐเฉ‡ เจธเฉ‹เจš เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจคเฉเจนเจพเจกเฉ‡ IP 'เจคเฉ‡ เจ‡เฉฑเจ• เจจเจฟเจธเจผเจพเจจเจพ DDoS เจนเจฎเจฒเจพเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจนเฉเจฃ เจคเฉฑเจ• เจ…เจœเจฟเจนเฉ‡ เจ•เฉ‹เจˆ เจฎเจพเจฎเจฒเฉ‡ เจธเจพเจนเจฎเจฃเฉ‡ เจจเจนเฉ€เจ‚ เจ†เจ เจนเจจ, เจ…เจคเฉ‡ เจคเจพเจฐเจชเจฟเจŸ เจตเจงเฉ€เจ† เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค

เจนเฉฑเจฌ:
เจชเจพเจˆเจฅเจจ, เจธเฉ‚เจšเจจเจพ เจธเฉเจฐเฉฑเจ–เจฟเจ†, เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐ, เจธเจฟเจธเจŸเจฎ เจชเฉเจฐเจธเจผเจพเจธเจจ

เจŸเฉˆเจ—เจธ:
SSH, Endless, tarpit, tarpit, trap, asycio
เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ SSH เจ•เฉเจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจฒเจˆ เจŸเฉเจฐเฉˆเจช (เจŸเจพเจฐเจชเจฟเจŸ)

เจ‡เจน เจ•เฉ‹เจˆ เจฐเจนเฉฑเจธ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ•เจฟ เจ‡เฉฐเจŸเจฐเจจเฉˆเจŸ เจ‡เฉฑเจ• เจฌเจนเฉเจค เจนเฉ€ เจตเจฟเจฐเฉ‹เจงเฉ€ เจฎเจพเจนเฉŒเจฒ เจนเฉˆ. เจœเจฟเจตเฉ‡เจ‚ เจนเฉ€ เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจšเฉเฉฑเจ•เจฆเฉ‡ เจนเฉ‹, เจ‡เจน เจคเฉเจฐเฉฐเจค เจตเฉฑเจกเฉ‡ เจนเจฎเจฒเฉ‡ เจ…เจคเฉ‡ เจฎเจฒเจŸเฉ€เจชเจฒ เจธเจ•เฉˆเจจ เจฆเฉ‡ เจ…เจงเฉ€เจจ เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจฃ เจฒเจˆ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจ—เจพเจฐเจกเจพเจ‚ เจคเฉ‹เจ‚ เจนเจจเฉ€เจชเจพเจŸ เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจ•เฉ‚เฉœเฉ‡ เจฆเฉ€ เจ†เจตเจพเจœเจพเจˆ เจฆเฉ‡ เจชเฉˆเจฎเจพเจจเฉ‡ เจฆเจพ เจ…เฉฐเจฆเจพเจœเจผเจพ เจฒเจ—เจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจตเจพเจธเจคเจต เจตเจฟเฉฑเจš, เจ”เจธเจค เจธเจฐเจตเจฐ 'เจคเฉ‡, 99% เจŸเฉเจฐเฉˆเจซเจฟเจ• เจ–เจคเจฐเจจเจพเจ• เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ.

เจŸเจพเจฐเจชเจฟเจŸ เจ‡เฉฑเจ• เจŸเฉเจฐเฉˆเจช เจชเฉ‹เจฐเจŸ เจนเฉˆ เจœเฉ‹ เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ เจ•เฉเจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉŒเจฒเฉ€ เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจ•เฉ‹เจˆ เจคเฉ€เจœเฉ€-เจงเจฟเจฐ เจธเจฟเจธเจŸเจฎ เจ‡เจธ เจชเฉ‹เจฐเจŸ เจจเจพเจฒ เจœเฉเฉœเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจคเฉเจฐเฉฐเจค เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฌเฉฐเจฆ เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‹เจ—เฉ‡เฅค เจ‰เจธเจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจธเจฟเจธเจŸเจฎ เจธเจฐเฉ‹เจคเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฐเจฌเจพเจฆ เจ•เจฐเจจเจพ เจชเจเจ—เจพ เจ…เจคเฉ‡ เจ•เจจเฉˆเจ•เจธเจผเจจ เจฆเจพ เจธเจฎเจพเจ‚ เจธเจฎเจพเจชเจค เจนเฉ‹เจฃ เจคเฉฑเจ• เจ‰เจกเฉ€เจ• เจ•เจฐเจจเฉ€ เจชเจตเฉ‡เจ—เฉ€, เจœเจพเจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจนเฉฑเจฅเฉ€เจ‚ เจฌเฉฐเจฆ เจ•เจฐเจจเจพ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจ…เจ•เจธเจฐ, เจŸเจพเจฐเจชเจฟเจŸเจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจฒเจˆ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจ‡เจน เจคเจ•เจจเฉ€เจ• เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ•เฉฐเจชเจฟเจŠเจŸเจฐ เจฆเฉ‡ เจ•เฉ€เฉœเจฟเจ†เจ‚ เจคเฉ‹เจ‚ เจฌเจšเจพเจ‰เจฃ เจฒเจˆ เจตเจฟเจ•เจธเจฟเจค เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€เฅค เจ…เจคเฉ‡ เจนเฉเจฃ เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจธเจชเฉˆเจฎเจฐเจพเจ‚ เจ…เจคเฉ‡ เจ–เฉ‹เจœเจ•เจฐเจคเจพเจตเจพเจ‚ เจฆเฉ‡ เจœเฉ€เจตเจจ เจจเฉ‚เฉฐ เจฌเจฐเจฌเจพเจฆ เจ•เจฐเจจ เจฒเจˆ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ เจœเฉ‹ เจ‡เฉฑเจ• เจ•เจคเจพเจฐ เจตเจฟเฉฑเจš เจธเจพเจฐเฉ‡ IP เจชเจคเจฟเจ†เจ‚ เจฆเฉ€ เจตเจฟเจ†เจชเจ• เจธเจ•เฉˆเจจเจฟเฉฐเจ— เจตเจฟเฉฑเจš เจฐเฉเฉฑเจเฉ‡ เจนเฉ‹เจ เจนเจจ (เจนเจพเจฌเจฐเฉ‡ เจ‰เฉฑเจคเฉ‡ เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚: เจ†เจธเจŸเจฐเฉ€เจ†, เจฏเฉ‚เจ•เจฐเฉ‡เจจ).

เจ•เฉเจฐเจฟเจธ เจตเฉˆเจฒเจจเจœเจผ เจจเจพเจฎเจ• เจธเจฟเจธเจŸเจฎ เจชเฉเจฐเจธเจผเจพเจธเจ•เจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจ‡เจธ เจฌเฉ‡เจ‡เฉฑเจœเจผเจคเฉ€ เจจเฉ‚เฉฐ เจฆเฉ‡เจ– เจ•เฉ‡ เจœเจผเจพเจนเจฐ เจคเฉŒเจฐ 'เจคเฉ‡ เจฅเฉฑเจ• เจ—เจฟเจ† เจธเฉ€ - เจ…เจคเฉ‡ เจ‰เจธเจจเฉ‡ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเจพ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฒเจฟเจ–เจฟเจ† เจฌเฉ‡เจ…เฉฐเจค, SSH เจฒเจˆ เจ‡เฉฑเจ• เจŸเจพเจฐเจชเจฟเจŸ เจœเฉ‹ เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ เจ•เฉเจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉŒเจฒเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจ‡เฉฑเจ• เจชเฉ‹เจฐเจŸ เจ–เฉ‹เจฒเฉเจนเจฆเจพ เจนเฉˆ (เจŸเฉˆเจธเจฟเฉฐเจ— เจฒเจˆ เจกเจฟเจซเฉŒเจฒเจŸ เจชเฉ‹เจฐเจŸ 2222 เจนเฉˆ) เจ…เจคเฉ‡ เจ‡เฉฑเจ• SSH เจธเจฐเจตเจฐ เจนเฉ‹เจฃ เจฆเจพ เจฆเจฟเจ–เจพเจตเจพ เจ•เจฐเจฆเจพ เจนเฉˆ, เจชเจฐ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ‡เจน เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ เจ•เจฒเจพเจ‡เฉฐเจŸ เจจเจพเจฒ เจ‡เฉฑเจ• เจฌเฉ‡เจ…เฉฐเจค เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจธเจฅเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจ‡เจน เจนเจพเจฐ เจจเจนเฉ€เจ‚ เจฎเฉฐเจจเจฆเจพเฅค เจ‡เจน เจ•เจˆ เจฆเจฟเจจเจพเจ‚ เจœเจพเจ‚ เจ‡เจธ เจคเฉ‹เจ‚ เจตเฉฑเจง เจธเจฎเฉ‡เจ‚ เจคเฉฑเจ• เจœเจพเจฐเฉ€ เจฐเจนเจฟ เจธเจ•เจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจ—เจพเจนเจ• เจกเจฟเฉฑเจ— เจจเจนเฉ€เจ‚ เจœเจพเจ‚เจฆเจพเฅค

เจธเจนเฉ‚เจฒเจค เจฆเฉ€ เจธเจฅเจพเจชเจจเจพ:

$ make
$ ./endlessh &
$ ssh -p2222 localhost

เจ‡เฉฑเจ• เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจŸเฉˆเจฐเจชเจฟเจŸ เจนเจฎเจฒเจพเจตเจฐ เจคเฉ‹เจ‚ เจคเฉเจนเจพเจกเฉ‡ เจจเจพเจฒเฉ‹เจ‚ เจตเฉฑเจง เจธเจฐเฉ‹เจค เจฒเจตเฉ‡เจ—เจพเฅค เจชเจฐ เจ‡เจน เจธเจพเจงเจจเจพเจ‚ เจฆเฉ€ เจ—เฉฑเจฒ เจตเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจฒเฉ‡เจ–เจ• เจ‰เจน เจฒเจฟเจ–เจฆเจพ เจนเฉˆเจ•เจฟ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจ†เจฆเฉ€ เจนเฉˆเฅค เจ‡เจธ เจธเจฎเฉ‡เจ‚ เจ‡เจธ เจตเจฟเฉฑเจš 27 เจ—เจพเจนเจ• เจซเจธเฉ‡ เจนเฉ‹เจ เจนเจจ, เจœเจฟเจจเฉเจนเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ•เฉเจ เจนเจซเจผเจคเจฟเจ†เจ‚ เจฒเจˆ เจœเฉเฉœเฉ‡ เจนเฉ‹เจ เจนเจจเฅค เจ—เจคเฉ€เจตเจฟเจงเฉ€ เจฆเฉ‡ เจธเจฟเจ–เจฐ 'เจคเฉ‡, 1378 เจ—เจพเจนเจ• 20 เจ˜เฉฐเจŸเจฟเจ†เจ‚ เจฒเจˆ เจซเจธเฉ‡ เจนเฉ‹เจ เจธเจจ!

เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจฎเฉ‹เจก เจตเจฟเฉฑเจš, เจเจ‚เจกเจฒเฉ‡เจธเจผ เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจ†เจฎ เจชเฉ‹เจฐเจŸ 22 'เจคเฉ‡ เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจœเจฟเฉฑเจฅเฉ‡ เจ—เฉเฉฐเจกเฉ‡ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจฆเจธเจคเจ• เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจเฅค เจฎเจฟเจ†เจฐเฉ€ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจธเจฟเจซเจผเจพเจฐเจฟเจธเจผเจพเจ‚ เจนเจฎเฉ‡เจธเจผเจพ SSH เจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจตเฉฑเจ–เจฐเฉ‡ เจชเฉ‹เจฐเจŸ 'เจคเฉ‡ เจฒเจฟเจœเจพเจฃ เจฆเฉ€ เจธเจฒเจพเจน เจฆเจฟเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ, เจœเฉ‹ เจคเฉเจฐเฉฐเจค เจฒเฉŒเจ—เจธ เจฆเฉ‡ เจ†เจ•เจพเจฐ เจจเฉ‚เฉฐ เจคเฉ€เจฌเจฐเจคเจพ เจฆเฉ‡ เจ•เฉเจฐเจฎ เจฆเฉเจ†เจฐเจพ เจ˜เจŸเจพเจ‰เจ‚เจฆเฉ€เจ†เจ‚ เจนเจจเฅค

เจ•เฉเจฐเจฟเจธ เจตเฉ‡เจฒเจจเจœเจผ เจฆเจพ เจ•เจนเจฟเจฃเจพ เจนเฉˆ เจ•เจฟ เจ‰เจธเจฆเจพ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจจเจฟเจฐเจงเจพเจฐเจจ เจฆเฉ‡ เจ‡เฉฑเจ• เจชเฉˆเจฐเฉ‡ เจฆเจพ เจธเจผเฉ‹เจธเจผเจฃ เจ•เจฐเจฆเจพ เจนเฉˆ RFC 4253 SSH เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจจเฉ‚เฉฐ. เจ‡เฉฑเจ• TCP เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจธเจฅเจพเจชเจค เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจคเฉเจฐเฉฐเจค เจฌเจพเจ…เจฆ, เจชเจฐ เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเฉ€ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจฆเฉ‹เจตเจพเจ‚ เจงเจฟเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจชเจ›เจพเจฃ เจธเจคเจฐ เจญเฉ‡เจœเจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆเฅค เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจจเฉ‹เจŸ เจตเฉ€ เจนเฉˆ: "เจตเจฐเจœเจจ เจ•เจคเจพเจฐ เจญเฉ‡เจœเจฃ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจธเจฐเจตเจฐ เจกเจพเจŸเจพ เจฆเฉ€เจ†เจ‚ เจนเฉ‹เจฐ เจ•เจคเจพเจฐเจพเจ‚ เจญเฉ‡เจœ เจธเจ•เจฆเจพ เจนเฉˆ". เจ…เจคเฉ‡ เจ•เฉ‹เจˆ เจธเฉ€เจฎเจพ เจจเจนเฉ€เจ‚ เจ‡เจธ เจกเฉ‡เจŸเจพ เจฆเฉ€ เจฎเจพเจคเจฐเจพ 'เจคเฉ‡, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจนเจฐ เจฒเจพเจˆเจจ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ SSH-.

เจ‡เจน เจฌเจฟเจฒเจ•เฉเจฒ เจ‰เจนเฉ€ เจนเฉˆ เจœเฉ‹ เจเจ‚เจกเจฒเฉ‡เจธเจผ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ: เจ‡เจน เจญเฉ‡เจœเจฆเจพ เจนเฉˆ เจ…เจจเฉฐเจค เจฌเฉ‡เจคเจฐเจคเฉ€เจฌเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ‡ เจกเฉ‡เจŸเจพ เจฆเฉ€ เจธเจŸเฉเจฐเฉ€เจฎ, เจœเฉ‹ เจ•เจฟ RFC 4253 เจฆเฉ€ เจชเจพเจฒเจฃเจพ เจ•เจฐเจฆเฉ‡ เจนเจจ, เจฏเจพเจจเฉ€ เจชเฉเจฐเจฎเจพเจฃเจฟเจ•เจคเจพ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจญเฉ‡เจœเฉ‹, เจ…เจคเฉ‡ เจนเจฐเฉ‡เจ• เจฒเจพเจˆเจจ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ SSH- เจ…เจคเฉ‡ เจฒเจพเจˆเจจ เจฆเฉ‡ เจ…เฉฐเจค เจตเจพเจฒเฉ‡ เจ…เฉฑเจ–เจฐ เจธเจฎเฉ‡เจค 255 เจ…เฉฑเจ–เจฐเจพเจ‚ เจคเฉ‹เจ‚ เจตเฉฑเจง เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจธเจญ เจ•เฉเจ เจฎเจฟเจ†เจฐ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจนเฉเฉฐเจฆเจพ เจนเฉˆ.

เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš, เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจชเฉˆเจ•เฉ‡เจŸ เจญเฉ‡เจœเจฃ เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ 10 เจธเจ•เจฟเฉฐเจŸ เจ‰เจกเฉ€เจ• เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เจน เจ•เจฒเจพเจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจธเจฎเจพเจ‚ เจธเจฎเจพเจชเจค เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจฐเฉ‹เจ•เจฆเจพ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจ•เจฒเจพเจ‡เฉฐเจŸ เจนเจฎเฉ‡เจธเจผเจพ เจฒเจˆ เจซเจธ เจœเจพเจตเฉ‡เจ—เจพเฅค

เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเฉ€ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจกเฉ‡เจŸเจพ เจญเฉ‡เจœเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฌเจนเฉเจค เจนเฉ€ เจธเจงเจพเจฐเจจ เจนเฉˆเฅค เจ‡เจธ เจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเจฟเจซเจฐ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ…เจคเฉ‡ เจฎเจฒเจŸเฉ€เจชเจฒ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจฒเฉ‡เจ–เจ• เจจเฉ‡ เจ‡เจน เจธเฉเจจเจฟเจธเจผเจšเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เฉ€เจคเฉ€ เจ•เจฟ เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจ˜เฉฑเจŸเฉ‹ เจ˜เฉฑเจŸ เจธเจฐเฉ‹เจคเจพเจ‚ เจฆเฉ€ เจ–เจชเจค เจ•เจฐเจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจฎเจธเจผเฉ€เจจ 'เจคเฉ‡ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจ…เจฃเจ—เฉŒเจฒเจฟเจ† เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจ†เจงเฉเจจเจฟเจ• เจเจ‚เจŸเฉ€เจตเจพเจ‡เจฐเจธ เจ…เจคเฉ‡ เจนเฉ‹เจฐ "เจธเฉเจฐเฉฑเจ–เจฟเจ† เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚" เจฆเฉ‡ เจ‰เจฒเจŸ, เจ‡เจธ เจจเฉ‚เฉฐ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉฐเจชเจฟเจŠเจŸเจฐ เจจเฉ‚เฉฐ เจนเฉŒเจฒเฉ€ เจจเจนเฉ€เจ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพเฅค เจ‰เจธเจจเฉ‡ เจฅเฉ‹เฉœเฉเจนเจพ เจนเฉ‹เจฐ เจšเจฒเจพเจ• เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ‡ เจ•เจพเจฐเจจ เจŸเฉเจฐเฉˆเจซเจฟเจ• เจ…เจคเฉ‡ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฆเฉ€ เจ–เจชเจค เจฆเฉ‹เจตเจพเจ‚ เจจเฉ‚เฉฐ เจ˜เฉฑเจŸ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ•เจพเจฎเจฏเจพเจฌ เจฐเจฟเจนเจพเฅค เจœเฉ‡เจ•เจฐ เจ‡เจธเจจเฉ‡ เจ‡เฉฑเจ• เจจเจตเฉ‡เจ‚ เจ•เจจเฉˆเจ•เจธเจผเจจ 'เจคเฉ‡ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเฉ€, เจคเจพเจ‚ เจธเฉฐเจญเจพเจตเฉ€ เจนเจฎเจฒเจพเจตเจฐ เจฎเจธเจผเฉ€เจจ 'เจคเฉ‡ เจธเจฐเฉ‹เจคเจพเจ‚ เจจเฉ‚เฉฐ เจ–เจคเจฎ เจ•เจฐเจจ เจฒเจˆ เจฎเจฒเจŸเฉ€เจชเจฒ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจ–เฉ‹เจฒเฉเจน เจ•เฉ‡ เจ‡เฉฑเจ• DDoS เจนเจฎเจฒเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจชเฉเจฐเจคเฉ€ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจ‡เฉฑเจ• เจฅเจฐเจฟเฉฑเจก เจตเฉ€ เจธเจญ เจคเฉ‹เจ‚ เจตเจงเฉ€เจ† เจตเจฟเจ•เจฒเจช เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ•เจฐเจจเจฒ เจฅเจฐเจฟเฉฑเจกเจพเจ‚ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจธเจฐเฉ‹เจคเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฐเจฌเจพเจฆ เจ•เจฐเฉ‡เจ—เจพเฅค

เจ‡เจธ เจฒเจˆ เจ•เฉเจฐเจฟเจธ เจตเฉ‡เจฒเฉ‹เจจเจœเจผ เจจเฉ‡ เจเจ‚เจกเจฒเฉ‡เจธเจผ เจฒเจˆ เจธเจญ เจคเฉ‹เจ‚ เจนเจฒเจ•เจพ เจตเจฟเจ•เจฒเจช เจšเฉเจฃเจฟเจ†: เจ‡เฉฑเจ• เจธเจฟเฉฐเจ—เจฒ-เจฅเจฐเจฟเฉฑเจกเจก เจธเจฐเจตเจฐ poll(2), เจœเจฟเฉฑเจฅเฉ‡ เจŸเจฐเฉˆเจช เจตเจฟเฉฑเจš เจ—เฉเจฐเจพเจนเจ• เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจตเจพเจงเฉ‚ เจธเจฐเฉ‹เจค เจจเจนเฉ€เจ‚ เจตเจฐเจคเจฆเฉ‡, เจ•เจฐเจจเจฒ เจตเจฟเฉฑเจš เจธเจพเจ•เจŸ เจ†เจฌเจœเฉˆเจ•เจŸ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡ เจ…เจคเฉ‡ เจเจ‚เจกเจฒเฉ‡เจธเจผ เจตเจฟเฉฑเจš เจŸเจฐเฉˆเจ•เจฟเฉฐเจ— เจฒเจˆ เจนเฉ‹เจฐ 78 เจฌเจพเจˆเจŸเจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจนเจฐเฉ‡เจ• เจ•เจฒเจพเจ‡เฉฐเจŸ เจฒเจˆ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจ…เจคเฉ‡ เจญเฉ‡เจœเจฃ เจตเจพเจฒเฉ‡ เจฌเจซเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจšเจฃ เจฒเจˆ, เจเจ‚เจกเจฒเฉ‡เจธเจผ เจ‡เฉฑเจ• เจธเจฟเฉฑเจงเฉ€ เจชเจนเฉเฉฐเจš เจธเจพเจ•เจŸ เจ–เฉ‹เจฒเฉเจนเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจฒเจ—เจญเจ— เจชเฉ‚เจฐเฉ‡ เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ TCP/IP เจธเจŸเฉˆเจ• เจจเฉ‚เฉฐ เจฌเจพเจˆเจชเจพเจธ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจธเจฟเฉฑเจงเฉ‡ TCP เจชเฉˆเจ•เฉ‡เจŸเจพเจ‚ เจฆเจพ เจ…เจจเฉเจตเจพเจฆ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ เจฌเจซเจฐ เจฆเฉ€ เจฌเจฟเจฒเจ•เฉเจฒ เจตเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจธเจพเจจเฉ‚เฉฐ เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ เจกเฉ‡เจŸเจพ เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจฆเจฟเจฒเจšเจธเจชเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

เจฒเฉ‡เจ–เจ• เจฆเจพ เจ•เจนเจฟเจฃเจพ เจนเฉˆ เจ•เจฟ เจ‰เจธ เจฆเฉ‡ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจธเจฎเฉ‡เจ‚ เจธ เจชเจคเจพ เจจเจนเฉ€เจ‚ เจธเฉ€ เจชเจพเจˆเจฅเจจ เจฆเฉ‡ เจเจธเฉ€เจธเฉ€เจ“ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจŸเจพเจฐเจชเจฟเจŸเจธ เจฆเฉ€ เจนเฉ‹เจ‚เจฆ เจฌเจพเจฐเฉ‡เฅค เจœเฉ‡ เจ‰เจน เจเจธเฉ€เจธเฉ€เจ“ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจฆเจพ เจธเฉ€, เจคเจพเจ‚ เจ‰เจน เจชเจพเจˆเจฅเจจ เจตเจฟเฉฑเจš เจธเจฟเจฐเจซ 18 เจฒเจพเจˆเจจเจพเจ‚ เจตเจฟเฉฑเจš เจ†เจชเจฃเฉ€ เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ:

import asyncio
import random

async def handler(_reader, writer):
try:
while True:
await asyncio.sleep(10)
writer.write(b'%xrn' % random.randint(0, 2**32))
await writer.drain()
except ConnectionResetError:
pass

async def main():
server = await asyncio.start_server(handler, '0.0.0.0', 2222)
async with server:
await server.serve_forever()

asyncio.run(main())

Asyncio tarpits เจฒเจฟเจ–เจฃ เจฒเจˆ เจ†เจฆเจฐเจธเจผ เจนเฉˆ. เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เจน เจนเฉเฉฑเจ• เจซเจพเจ‡เจฐเจซเจพเจ•เจธ, เจ•เจฐเฉ‹เจฎ, เจœเจพเจ‚ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจ•เจฒเจพเจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจซเฉเจฐเฉ€เจœเจผ เจ•เจฐ เจฆเฉ‡เจตเฉ‡เจ—เจพ เจœเฉ‹ เจ•เจˆ เจ˜เฉฐเจŸเจฟเจ†เจ‚ เจฒเจˆ เจคเฉเจนเจพเจกเฉ‡ HTTP เจธเจฐเจตเจฐ เจจเจพเจฒ เจœเฉเฉœเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ:

import asyncio
import random

async def handler(_reader, writer):
writer.write(b'HTTP/1.1 200 OKrn')
try:
while True:
await asyncio.sleep(5)
header = random.randint(0, 2**32)
value = random.randint(0, 2**32)
writer.write(b'X-%x: %xrn' % (header, value))
await writer.drain()
except ConnectionResetError:
pass

async def main():
server = await asyncio.start_server(handler, '0.0.0.0', 8080)
async with server:
await server.serve_forever()

asyncio.run(main())

Tarpit เจ”เจจเจฒเจพเจˆเจจ เจ—เฉเฉฐเจกเฉ‡ เจจเฉ‚เฉฐ เจธเจœเจผเจพ เจฆเฉ‡เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจตเจงเฉ€เจ† เจธเจพเจงเจจ เจนเฉˆเฅค เจ‡เจน เจธเฉฑเจš เจนเฉˆ เจ•เจฟ, เจ‡เจธเจฆเฉ‡ เจ‰เจฒเจŸ, เจ•เจฟเจธเฉ‡ เจ–เจพเจธ เจธเจฐเจตเจฐ เจฆเฉ‡ เจ…เจธเจพเจงเจพเจฐเจจ เจตเจฟเจตเจนเจพเจฐ เจตเฉฑเจฒ เจ‰เจนเจจเจพเจ‚ เจฆเจพ เจงเจฟเจ†เจจ เจ–เจฟเฉฑเจšเจฃ เจฆเจพ เจ•เฉเจ เจœเฉ‹เจ–เจฎ เจนเฉˆ. เจ•เฉ‹เจˆ เจฌเจฆเจฒเจพ เจฒเฉˆเจฃ เจฌเจพเจฐเฉ‡ เจธเฉ‹เจš เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจคเฉเจนเจพเจกเฉ‡ IP 'เจคเฉ‡ เจ‡เฉฑเจ• เจจเจฟเจธเจผเจพเจจเจพ DDoS เจนเจฎเจฒเจพเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจนเฉเจฃ เจคเฉฑเจ• เจ…เจœเจฟเจนเฉ‡ เจ•เฉ‹เจˆ เจฎเจพเจฎเจฒเฉ‡ เจธเจพเจนเจฎเจฃเฉ‡ เจจเจนเฉ€เจ‚ เจ†เจ เจนเจจ, เจ…เจคเฉ‡ เจคเจพเจฐเจชเจฟเจŸ เจตเจงเฉ€เจ† เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค

เจ†เจ‰เจฃ เจตเจพเจฒเฉ‡ SSH เจ•เฉเจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจฒเจˆ เจŸเฉเจฐเฉˆเจช (เจŸเจพเจฐเจชเจฟเจŸ)

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹