เชคเซ เชเซเช เชฐเชนเชธเซเชฏ เชจเชฅเซ เชเซ เชเชจเซเชเชฐเชจเซเช เชเซเชฌ เช เชชเซเชฐเชคเชฟเชเซเชณ เชตเชพเชคเชพเชตเชฐเชฃ เชเซ. เชเชฒเชฆเซ เชคเชฎเซ เชธเชฐเซเชตเชฐ เชเชญเชพ เชเชฐเซ เชเซ, เชคเซ เชคเชฐเชค เช เชฎเซเชเชพ เชนเซเชฎเชฒเชพเช เช
เชจเซ เชฌเชนเซเชตเชฟเชง เชธเซเชเซเชจเชจเซ เชญเซเช เชฌเชจเซ เชเซ. เชฆเชพเชเซเชฒเชพ เชคเชฐเซเชเซ
เชเซเชฐเชชเชฟเช เช เชเช เชเซเชฐเซเชช เชชเซเชฐเซเช เชเซ เชเซเชจเซ เชเชชเชฏเซเช เชเชจเชเชฎเชฟเชเช เชเชจเซเชเซเชถเชจเชจเซ เชงเซเชฎเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชฅเชพเชฏ เชเซ. เชเซ เชคเซเชคเซเชฏ-เชชเชเซเชท เชธเชฟเชธเซเชเชฎ เช เชชเซเชฐเซเช เชธเชพเชฅเซ เชเชจเซเชเซเช เชฅเชพเชฏ เชเซ, เชคเซ เชคเชฎเซ เชเชกเชชเชฅเซ เชเชจเซเชเซเชถเชจ เชฌเชเชง เชเชฐเซ เชถเชเชถเซ เชจเชนเซเช. เชคเซเชฃเซเช เชคเซเชจเชพ เชธเชฟเชธเซเชเชฎ เชธเชเชธเชพเชงเชจเซเชจเซ เชฌเชเชพเชก เชเชฐเชตเซ เชชเชกเชถเซ เช เชจเซ เชเชจเซเชเซเชถเชจ เชธเชฎเชฏ เชธเชฎเชพเชชเซเชค เชฅเชพเชฏ เชคเซเชฏเชพเช เชธเซเชงเซ เชฐเชพเชน เชเซเชตเซ เชชเชกเชถเซ, เช เชฅเชตเชพ เชคเซเชจเซ เชฎเซเชจเซเชฏเซเช เชฒเซ เชธเชฎเชพเชชเซเชค เชเชฐเชตเซ เชชเชกเชถเซ.
เชฎเซเชเซเชญเชพเชเซ, เชฐเชเซเชทเชฃ เชฎเชพเชเซ เชเซเชฐเชชเชฟเชเซเชธเชจเซ เชเชชเชฏเซเช เชฅเชพเชฏ เชเซ. เช เชเซเชเชจเชฟเช เชธเซ เชชเซเชฐเชฅเชฎ เชเซเชฎเซเชชเซเชฏเซเชเชฐ เชตเซเชฐเซเชฎเซเชธ เชธเชพเชฎเซ เชฐเชเซเชทเชฃ เชเชชเชตเชพ เชฎเชพเชเซ เชตเชฟเชเชธเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชนเชคเซ. เช
เชจเซ เชนเชตเซ เชคเซเชจเซ เชเชชเชฏเซเช เชธเซเชชเชพเชฎเชฐเซเชธ เช
เชจเซ เชธเชเชถเซเชงเชเซเชจเชพ เชเซเชตเชจเชจเซ เชฌเชฐเชฌเชพเชฆ เชเชฐเชตเชพ เชฎเชพเชเซ เชฅเช เชถเชเซ เชเซ เชเซเช เชเช เชชเชเชเซเชคเชฟเชฎเชพเช เชคเชฎเชพเชฎ IP เชธเชฐเชจเชพเชฎเชพเชเชจเชพ เชตเซเชฏเชพเชชเช เชธเซเชเซเชจเชฟเชเชเชฎเชพเช เชฐเซเชเชพเชฏเซเชฒเชพ เชเซ (เชนเซเชฌเซเชฐเซ เชชเชฐเชจเชพ เชเชฆเชพเชนเชฐเชฃเซ:
เชเซเชฐเชฟเชธ เชตเซเชฒเซเชจเซเชธ เชจเชพเชฎเชจเชพ เชธเชฟเชธเซเชเชฎ เชเชกเชฎเชฟเชจเชฟเชธเซเชเซเชฐเซเชเชฐเซเชฎเชพเชเชฅเซ เชเช เชฆเซเชเซเชคเซ เชฐเซเชคเซ เช เชฌเชฆเชจเชพเชฎเซ เชเซเชเชจเซ เชเชเชเชพเชณเซ เชเชฏเซ เชนเชคเซ - เช
เชจเซ เชคเซเชฃเซ เชเช เชจเชพเชจเซ เชเชพเชฐเซเชฏเชเซเชฐเชฎ เชฒเชเซเชฏเซ เชนเชคเซ.
เชเชชเชฏเซเชเชฟเชคเชพเชจเซ เชธเซเชฅเชพเชชเชจเชพ:
$ make
$ ./endlessh &
$ ssh -p2222 localhost
เชฏเซเชเซเชฏ เชฐเซเชคเซ เช
เชฎเชฒเชฎเชพเช เชฎเซเชเชพเชฏเซเชฒ เชเชฐเซเชชเชฟเช เชนเซเชฎเชฒเชพเชเซเชฐ เชชเชพเชธเซเชฅเซ เชคเชฎเชพเชฐเชพ เชเชฐเชคเชพเช เชตเชงเซ เชธเชเชธเชพเชงเชจเซ เชฒเซเชถเซ. เชชเชฐเชเชคเซ เชคเซ เชธเชเชธเชพเชงเชจเซเชจเซ เชฌเชพเชฌเชค เชชเชฃ เชจเชฅเซ. เชฒเซเชเช
เชเชชเชฐเซเชเชฟเชเช เชฎเซเชกเชฎเชพเช, เชเชจเซเชกเชฒเซเชถ เชธเชฐเซเชตเชฐเชจเซ เชธเชพเชฎเชพเชจเซเชฏ เชชเซเชฐเซเช 22 เชชเชฐ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ, เชเซเชฏเชพเช เชเซเชเชกเชพเช เชเช เชธเชพเชฅเซ เชชเชเชพเชกเซ เชเซ. เชฎเชพเชจเช เชธเซเชฐเชเซเชทเชพ เชญเชฒเชพเชฎเชฃเซ เชนเชเชฎเซเชถเชพ SSH เชจเซ เช เชฒเช เชชเซเชฐเซเช เชชเชฐ เชเชธเซเชกเชตเชพเชจเซ เชธเชฒเชพเชน เชเชชเซ เชเซ, เชเซ เชคเซเชฐเชเชค เช เชฒเซเชเชจเชพ เชเชฆเชจเซ เชคเซเชตเซเชฐเชคเชพเชจเชพ เชเซเชฐเชฎเชฎเชพเช เชเชเชพเชกเซ เชเซ.
เชเซเชฐเชฟเชธ เชตเซเชฒเซเชจเซเชธ เชเชนเซ เชเซ เชเซ เชคเซเชฎเชจเซ เชชเซเชฐเซเชเซเชฐเชพเชฎ เชธเซเชชเชทเซเชเซเชเชฐเชฃเชจเชพ เชเช เชซเชเชฐเชพเชจเซเช เชถเซเชทเชฃ เชเชฐเซ เชเซ SSH-
.
เชเชจเซเชกเชฒเซเชถ เชชเซเชฐเซเชเซเชฐเชพเชฎ เชเซ เชเชฐเซ เชเซ เชคเซ เช เชฌเชฐเชพเชฌเชฐ เชเซ: เชคเซ เชฎเซเชเชฒเซ เชเซ เช
เชจเชเชค เชฐเซเชจเซเชกเชฎเชฒเซ เชเชจเชฐเซเช เชฅเชฏเซเชฒ เชกเซเชเชพเชจเซ เชชเซเชฐเชตเชพเชน, เชเซ RFC 4253 เชจเซเช เชชเชพเชฒเชจ เชเชฐเซ เชเซ, เชเชเชฒเซ เชเซ, เชชเซเชฐเชฎเชพเชฃเซเชเชฐเชฃ เชชเชนเซเชฒเชพ เชฎเซเชเชฒเซ, เช
เชจเซ เชฆเชฐเซเช เชฒเชพเชเชจ เชธเชพเชฅเซ เชถเชฐเซ เชฅเชพเชฏ เชเซ SSH-
เช
เชจเซ 255 เช
เชเซเชทเชฐเซเชฅเซ เชตเชงเซ เชจเชฅเซ, เชเซเชฎเชพเช เชฒเซเชเซเชจเชพ เช
เชเชคเชจเชพ เช
เชเซเชทเชฐเชจเซ เชธเชฎเชพเชตเซเชถ เชฅเชพเชฏ เชเซ. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ, เชฌเชงเซเช เชงเซเชฐเชฃ เชฎเซเชเชฌ เชเซ.
เชฎเซเชณเชญเซเชค เชฐเซเชคเซ, เชชเซเชฐเซเชเซเชฐเชพเชฎ เชชเซเชเซเชเซ เชฎเซเชเชฒเชตเชพ เชตเชเซเชเซ 10 เชธเซเชเชจเซเชก เชฐเชพเชน เชเซเช เชเซ. เช เชเซเชฒเชพเชฏเชเชเชจเซ เชธเชฎเชฏ เชธเชฎเชพเชชเซเชค เชฅเชตเชพเชฅเซ เช เชเชเชพเชตเซ เชเซ, เชคเซเชฅเซ เชเซเชฒเชพเชฏเชเช เชเชพเชฏเชฎ เชฎเชพเชเซ เชซเชธเชพเช เชเชถเซ.
เชเซเชฐเชฟเชชเซเชเซเชเซเชฐเชพเชซเซ เชฒเชพเชเซ เชเชฐเชคเชพเช เชชเชนเซเชฒเชพเช เชกเซเชเชพ เชฎเซเชเชฒเชตเชพเชฎเชพเช เชเชตเชคเซ เชนเซเชตเชพเชฅเซ, เชชเซเชฐเซเชเซเชฐเชพเชฎ เช เชคเซเชฏเชเชค เชธเชฐเชณ เชเซ. เชคเซเชจเซ เชเซเชเชชเชฃ เชธเชพเชเชซเชฐ เชฒเชพเชเซ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชจเชฅเซ เช เชจเซ เชฌเชนเซเชตเชฟเชง เชชเซเชฐเซเชเซเชเซเชฒเซเชธเชจเซ เชธเชชเซเชฐเซเช เชเชฐเซ เชเซ.
เชฒเซเชเชเซ เช เชธเซเชจเชฟเชถเซเชเชฟเชค เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซเชฏเซ เชเซ เชเชชเชฏเซเชเชฟเชคเชพ เชเชเชพเชฎเชพเช เชเชเชพ เชธเชเชธเชพเชงเชจเซเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ เช เชจเซ เชฎเชถเซเชจ เชชเชฐ เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชงเซเชฏเชพเชจ เชตเชเชฐ เชเชพเชฎ เชเชฐเซ เชเซ. เชเชงเซเชจเชฟเช เชเชจเซเชเชฟเชตเชพเชฏเชฐเชธ เช เชจเซ เช เชจเซเชฏ "เชธเซเชฐเชเซเชทเชพ เชธเชฟเชธเซเชเชฎเซ" เชฅเซ เชตเชฟเชชเชฐเซเชค, เชคเซ เชคเชฎเชพเชฐเชพ เชเชฎเซเชชเซเชฏเซเชเชฐเชจเซ เชงเซเชฎเซเช เชจ เชเชฐเชตเซเช เชเซเชเช. เชฅเซเชกเชพ เชตเชงเซ เชเชกเชพเชฏเซเชฒเซเช เชธเซเชซเซเชเชตเซเชฐ เช เชฎเชฒเซเชเชฐเชฃเชจเซ เชเชพเชฐเชฃเซ เชคเซ เชเซเชฐเชพเชซเชฟเช เช เชจเซ เชฎเซเชฎเชฐเซ เชตเชชเชฐเชพเชถ เชฌเชเชจเซเชจเซ เชเชเชพเชกเชตเชพเชฎเชพเช เชธเชซเชณ เชฐเชนเซเชฏเซ. เชเซ เชคเซ เชจเชตเชพ เชเชจเซเชเซเชถเชจ เชชเชฐ เชเช เช เชฒเช เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชถเชฐเซ เชเชฐเซ เชเซ, เชคเซ เชธเชเชญเชตเชฟเชค เชนเซเชฎเชฒเชพเชเซเชฐเซ เชฎเชถเซเชจ เชชเชฐ เชธเชเชธเชพเชงเชจเซเชจเซ เชเชเซเชเซเชธเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชฌเชนเซเชตเชฟเชง เชเชจเซเชเซเชถเชจเซเชธ เชเซเชฒเซเชจเซ DDoS เชนเซเชฎเชฒเซ เชถเชฐเซ เชเชฐเซ เชถเชเซ เชเซ. เชเชจเซเชเซเชถเชจ เชฆเซเช เชเช เชฅเซเชฐเซเชก เชชเชฃ เชถเซเชฐเซเชทเซเช เชตเชฟเชเชฒเซเชช เชจเชฅเซ, เชเชพเชฐเชฃ เชเซ เชเชฐเซเชจเชฒ เชฅเซเชฐเซเชกเซเชจเซเช เชธเชเชเชพเชฒเชจ เชเชฐเชตเชพเชฎเชพเช เชธเชเชธเชพเชงเชจเซเชจเซ เชฌเชเชพเชก เชเชฐเชถเซ.
เชคเซเชฅเซ เช เชเซเชฐเชฟเชธ เชตเซเชฒเซเชจเซเชธเซ เชเชจเซเชกเชฒเซเชถ เชฎเชพเชเซ เชธเซเชฅเซ เชนเชณเชตเซ เชตเชฟเชเชฒเซเชช เชชเชธเชเชฆ เชเชฐเซเชฏเซ: เชธเชฟเชเชเชฒ-เชฅเซเชฐเซเชกเซเชก เชธเชฐเซเชตเชฐ poll(2)
, เชเซเชฏเชพเช เชเซเชฐเซเชชเชฎเชพเชเชจเชพ เชเซเชฒเชพเชฏเชจเซเช เชตเชฐเซเชเซเชฏเซเช
เชฒ เชฐเซเชคเซ เชเซเช เชตเชงเชพเชฐเชพเชจเชพ เชธเชเชธเชพเชงเชจเซเชจเซ เชเชชเชฏเซเช เชเชฐเชคเชพ เชจเชฅเซ, เชเชฐเซเชจเชฒเชฎเชพเช เชธเซเชเซเช เชเชฌเซเชเซเชเซเชเชจเซ เชเชฃเชคเชฐเซ เชเชฐเชคเชพ เชจเชฅเซ เช
เชจเซ เชเชจเซเชกเชฒเซเชถเชฎเชพเช เชเซเชฐเซเชเชฟเชเช เชฎเชพเชเซ เช
เชจเซเชฏ 78 เชฌเชพเชเชเซเชธ. เชฆเชฐเซเช เชเซเชฒเชพเชฏเชเช เชฎเชพเชเซ เชฌเชซเชฐเซเชธ เชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพ เช
เชจเซ เชฎเซเชเชฒเชตเชพเชจเซเช เชเชพเชณเชตเชพ เชฎเชพเชเซ, เชเชจเซเชกเชฒเซเชถ เชเช เชกเชพเชฏเชฐเซเชเซเช เชเชเซเชธเซเชธ เชธเซเชเซเช เชเซเชฒเซ เชเซ เช
เชจเซ เชฒเชเชญเช เชธเชฎเชเซเชฐ เชเชชเชฐเซเชเชฟเชเช เชธเชฟเชธเซเชเชฎ TCP/IP เชธเซเชเซเชเชจเซ เชฌเชพเชฏเชชเชพเชธ เชเชฐเซเชจเซ TCP เชชเซเชเซเชเซเชธเชจเซ เชธเซเชงเซ เช
เชจเซเชตเชพเชฆ เชเชฐเซ เชเซ. เชเชจเชเชฎเชฟเชเช เชฌเชซเชฐเชจเซ เชฌเชฟเชฒเชเซเชฒ เชเชฐเซเชฐ เชจเชฅเซ, เชเชพเชฐเชฃ เชเซ เช
เชฎเชจเซ เชเชจเชเชฎเชฟเชเช เชกเซเชเชพเชฎเชพเช เชฐเชธ เชจเชฅเซ.
เชฒเซเชเช เชเชนเซ เชเซ เชเซ เชคเซเชฎเชจเชพ เชเชพเชฐเซเชฏเชเซเชฐเชฎ เชธเชฎเชฏเซ
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())
เชเชจเชฒเชพเชเชจ เชฌเชฆเชฎเชพเชถเซเชจเซ เชธเชเชพ เชเชฐเชตเชพ เชฎเชพเชเซ เชคเชพเชฐเชชเซเช เช เชเช เชเชคเซเชคเชฎ เชธเชพเชงเชจ เชเซ. เชธเชพเชเซเช เชเซ, เชคเซเชจเชพเชฅเซ เชตเชฟเชชเชฐเซเชค, เชเซเชเซเชเชธ เชธเชฐเซเชตเชฐเชจเชพ เช
เชธเชพเชฎเชพเชจเซเชฏ เชตเชฐเซเชคเชจ เชคเชฐเชซ เชคเซเชฎเชจเซเช เชงเซเชฏเชพเชจ เชฆเซเชฐเชตเชพเชจเซเช เชเซเชเชฎ เชเซ. เชเซเชเชจเซ
เชนเชฌ:
เชชเชพเชฏเชฅเซเชจ, เชฎเชพเชนเชฟเชคเซ เชธเซเชฐเชเซเชทเชพ, เชธเซเชซเซเชเชตเซเชฐ, เชธเชฟเชธเซเชเชฎ เชเชกเชฎเชฟเชจเชฟเชธเซเชเซเชฐเซเชถเชจ
เชเซ
เชเซเชธ:
SSH, Endlesssh, tarpit, tarpit, trap, asycio
เชเชจเชเชฎเชฟเชเช SSH เชเซเชกเชพเชฃเซ เชฎเชพเชเซ เชเซเชฐเซเชช (เชเชพเชฐเซเชชเชฟเช).
เชคเซ เชเซเช เชฐเชนเชธเซเชฏ เชจเชฅเซ เชเซ เชเชจเซเชเชฐเชจเซเช เชเซเชฌ เช เชชเซเชฐเชคเชฟเชเซเชณ เชตเชพเชคเชพเชตเชฐเชฃ เชเซ. เชเชฒเชฆเซ เชคเชฎเซ เชธเชฐเซเชตเชฐ เชเชญเชพ เชเชฐเซ เชเซ, เชคเซ เชคเชฐเชค เช เชฎเซเชเชพ เชนเซเชฎเชฒเชพเช เช
เชจเซ เชฌเชนเซเชตเชฟเชง เชธเซเชเซเชจเชจเซ เชญเซเช เชฌเชจเซ เชเซ. เชฆเชพเชเซเชฒเชพ เชคเชฐเซเชเซ
เชเซเชฐเชชเชฟเช เช เชเช เชเซเชฐเซเชช เชชเซเชฐเซเช เชเซ เชเซเชจเซ เชเชชเชฏเซเช เชเชจเชเชฎเชฟเชเช เชเชจเซเชเซเชถเชจเชจเซ เชงเซเชฎเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชฅเชพเชฏ เชเซ. เชเซ เชคเซเชคเซเชฏ-เชชเชเซเชท เชธเชฟเชธเซเชเชฎ เช เชชเซเชฐเซเช เชธเชพเชฅเซ เชเชจเซเชเซเช เชฅเชพเชฏ เชเซ, เชคเซ เชคเชฎเซ เชเชกเชชเชฅเซ เชเชจเซเชเซเชถเชจ เชฌเชเชง เชเชฐเซ เชถเชเชถเซ เชจเชนเซเช. เชคเซเชฃเซเช เชคเซเชจเชพ เชธเชฟเชธเซเชเชฎ เชธเชเชธเชพเชงเชจเซเชจเซ เชฌเชเชพเชก เชเชฐเชตเซ เชชเชกเชถเซ เช เชจเซ เชเชจเซเชเซเชถเชจ เชธเชฎเชฏ เชธเชฎเชพเชชเซเชค เชฅเชพเชฏ เชคเซเชฏเชพเช เชธเซเชงเซ เชฐเชพเชน เชเซเชตเซ เชชเชกเชถเซ, เช เชฅเชตเชพ เชคเซเชจเซ เชฎเซเชจเซเชฏเซเช เชฒเซ เชธเชฎเชพเชชเซเชค เชเชฐเชตเซ เชชเชกเชถเซ.
เชฎเซเชเซเชญเชพเชเซ, เชฐเชเซเชทเชฃ เชฎเชพเชเซ เชเซเชฐเชชเชฟเชเซเชธเชจเซ เชเชชเชฏเซเช เชฅเชพเชฏ เชเซ. เช เชเซเชเชจเชฟเช เชธเซ เชชเซเชฐเชฅเชฎ เชเซเชฎเซเชชเซเชฏเซเชเชฐ เชตเซเชฐเซเชฎเซเชธ เชธเชพเชฎเซ เชฐเชเซเชทเชฃ เชเชชเชตเชพ เชฎเชพเชเซ เชตเชฟเชเชธเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชนเชคเซ. เช
เชจเซ เชนเชตเซ เชคเซเชจเซ เชเชชเชฏเซเช เชธเซเชชเชพเชฎเชฐเซเชธ เช
เชจเซ เชธเชเชถเซเชงเชเซเชจเชพ เชเซเชตเชจเชจเซ เชฌเชฐเชฌเชพเชฆ เชเชฐเชตเชพ เชฎเชพเชเซ เชฅเช เชถเชเซ เชเซ เชเซเช เชเช เชชเชเชเซเชคเชฟเชฎเชพเช เชคเชฎเชพเชฎ IP เชธเชฐเชจเชพเชฎเชพเชเชจเชพ เชตเซเชฏเชพเชชเช เชธเซเชเซเชจเชฟเชเชเชฎเชพเช เชฐเซเชเชพเชฏเซเชฒเชพ เชเซ (เชนเซเชฌเซเชฐเซ เชชเชฐเชจเชพ เชเชฆเชพเชนเชฐเชฃเซ:
เชเซเชฐเชฟเชธ เชตเซเชฒเซเชจเซเชธ เชจเชพเชฎเชจเชพ เชธเชฟเชธเซเชเชฎ เชเชกเชฎเชฟเชจเชฟเชธเซเชเซเชฐเซเชเชฐเซเชฎเชพเชเชฅเซ เชเช เชฆเซเชเซเชคเซ เชฐเซเชคเซ เช เชฌเชฆเชจเชพเชฎเซ เชเซเชเชจเซ เชเชเชเชพเชณเซ เชเชฏเซ เชนเชคเซ - เช
เชจเซ เชคเซเชฃเซ เชเช เชจเชพเชจเซ เชเชพเชฐเซเชฏเชเซเชฐเชฎ เชฒเชเซเชฏเซ เชนเชคเซ.
เชเชชเชฏเซเชเชฟเชคเชพเชจเซ เชธเซเชฅเชพเชชเชจเชพ:
$ make
$ ./endlessh &
$ ssh -p2222 localhost
เชฏเซเชเซเชฏ เชฐเซเชคเซ เช
เชฎเชฒเชฎเชพเช เชฎเซเชเชพเชฏเซเชฒ เชเชฐเซเชชเชฟเช เชนเซเชฎเชฒเชพเชเซเชฐ เชชเชพเชธเซเชฅเซ เชคเชฎเชพเชฐเชพ เชเชฐเชคเชพเช เชตเชงเซ เชธเชเชธเชพเชงเชจเซ เชฒเซเชถเซ. เชชเชฐเชเชคเซ เชคเซ เชธเชเชธเชพเชงเชจเซเชจเซ เชฌเชพเชฌเชค เชชเชฃ เชจเชฅเซ. เชฒเซเชเช
เชเชชเชฐเซเชเชฟเชเช เชฎเซเชกเชฎเชพเช, เชเชจเซเชกเชฒเซเชถ เชธเชฐเซเชตเชฐเชจเซ เชธเชพเชฎเชพเชจเซเชฏ เชชเซเชฐเซเช 22 เชชเชฐ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ, เชเซเชฏเชพเช เชเซเชเชกเชพเช เชเช เชธเชพเชฅเซ เชชเชเชพเชกเซ เชเซ. เชฎเชพเชจเช เชธเซเชฐเชเซเชทเชพ เชญเชฒเชพเชฎเชฃเซ เชนเชเชฎเซเชถเชพ SSH เชจเซ เช เชฒเช เชชเซเชฐเซเช เชชเชฐ เชเชธเซเชกเชตเชพเชจเซ เชธเชฒเชพเชน เชเชชเซ เชเซ, เชเซ เชคเซเชฐเชเชค เช เชฒเซเชเชจเชพ เชเชฆเชจเซ เชคเซเชตเซเชฐเชคเชพเชจเชพ เชเซเชฐเชฎเชฎเชพเช เชเชเชพเชกเซ เชเซ.
เชเซเชฐเชฟเชธ เชตเซเชฒเซเชจเซเชธ เชเชนเซ เชเซ เชเซ เชคเซเชฎเชจเซ เชชเซเชฐเซเชเซเชฐเชพเชฎ เชธเซเชชเชทเซเชเซเชเชฐเชฃเชจเชพ เชเช เชซเชเชฐเชพเชจเซเช เชถเซเชทเชฃ เชเชฐเซ เชเซ SSH-
.
เชเชจเซเชกเชฒเซเชถ เชชเซเชฐเซเชเซเชฐเชพเชฎ เชเซ เชเชฐเซ เชเซ เชคเซ เช เชฌเชฐเชพเชฌเชฐ เชเซ: เชคเซ เชฎเซเชเชฒเซ เชเซ เช
เชจเชเชค เชฐเซเชจเซเชกเชฎเชฒเซ เชเชจเชฐเซเช เชฅเชฏเซเชฒ เชกเซเชเชพเชจเซ เชชเซเชฐเชตเชพเชน, เชเซ RFC 4253 เชจเซเช เชชเชพเชฒเชจ เชเชฐเซ เชเซ, เชเชเชฒเซ เชเซ, เชชเซเชฐเชฎเชพเชฃเซเชเชฐเชฃ เชชเชนเซเชฒเชพ เชฎเซเชเชฒเซ, เช
เชจเซ เชฆเชฐเซเช เชฒเชพเชเชจ เชธเชพเชฅเซ เชถเชฐเซ เชฅเชพเชฏ เชเซ SSH-
เช
เชจเซ 255 เช
เชเซเชทเชฐเซเชฅเซ เชตเชงเซ เชจเชฅเซ, เชเซเชฎเชพเช เชฒเซเชเซเชจเชพ เช
เชเชคเชจเชพ เช
เชเซเชทเชฐเชจเซ เชธเชฎเชพเชตเซเชถ เชฅเชพเชฏ เชเซ. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ, เชฌเชงเซเช เชงเซเชฐเชฃ เชฎเซเชเชฌ เชเซ.
เชฎเซเชณเชญเซเชค เชฐเซเชคเซ, เชชเซเชฐเซเชเซเชฐเชพเชฎ เชชเซเชเซเชเซ เชฎเซเชเชฒเชตเชพ เชตเชเซเชเซ 10 เชธเซเชเชจเซเชก เชฐเชพเชน เชเซเช เชเซ. เช เชเซเชฒเชพเชฏเชเชเชจเซ เชธเชฎเชฏ เชธเชฎเชพเชชเซเชค เชฅเชตเชพเชฅเซ เช เชเชเชพเชตเซ เชเซ, เชคเซเชฅเซ เชเซเชฒเชพเชฏเชเช เชเชพเชฏเชฎ เชฎเชพเชเซ เชซเชธเชพเช เชเชถเซ.
เชเซเชฐเชฟเชชเซเชเซเชเซเชฐเชพเชซเซ เชฒเชพเชเซ เชเชฐเชคเชพเช เชชเชนเซเชฒเชพเช เชกเซเชเชพ เชฎเซเชเชฒเชตเชพเชฎเชพเช เชเชตเชคเซ เชนเซเชตเชพเชฅเซ, เชชเซเชฐเซเชเซเชฐเชพเชฎ เช เชคเซเชฏเชเชค เชธเชฐเชณ เชเซ. เชคเซเชจเซ เชเซเชเชชเชฃ เชธเชพเชเชซเชฐ เชฒเชพเชเซ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชจเชฅเซ เช เชจเซ เชฌเชนเซเชตเชฟเชง เชชเซเชฐเซเชเซเชเซเชฒเซเชธเชจเซ เชธเชชเซเชฐเซเช เชเชฐเซ เชเซ.
เชฒเซเชเชเซ เช เชธเซเชจเชฟเชถเซเชเชฟเชค เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซเชฏเซ เชเซ เชเชชเชฏเซเชเชฟเชคเชพ เชเชเชพเชฎเชพเช เชเชเชพ เชธเชเชธเชพเชงเชจเซเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ เช เชจเซ เชฎเชถเซเชจ เชชเชฐ เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชงเซเชฏเชพเชจ เชตเชเชฐ เชเชพเชฎ เชเชฐเซ เชเซ. เชเชงเซเชจเชฟเช เชเชจเซเชเชฟเชตเชพเชฏเชฐเชธ เช เชจเซ เช เชจเซเชฏ "เชธเซเชฐเชเซเชทเชพ เชธเชฟเชธเซเชเชฎเซ" เชฅเซ เชตเชฟเชชเชฐเซเชค, เชคเซ เชคเชฎเชพเชฐเชพ เชเชฎเซเชชเซเชฏเซเชเชฐเชจเซ เชงเซเชฎเซเช เชจ เชเชฐเชตเซเช เชเซเชเช. เชฅเซเชกเชพ เชตเชงเซ เชเชกเชพเชฏเซเชฒเซเช เชธเซเชซเซเชเชตเซเชฐ เช เชฎเชฒเซเชเชฐเชฃเชจเซ เชเชพเชฐเชฃเซ เชคเซ เชเซเชฐเชพเชซเชฟเช เช เชจเซ เชฎเซเชฎเชฐเซ เชตเชชเชฐเชพเชถ เชฌเชเชจเซเชจเซ เชเชเชพเชกเชตเชพเชฎเชพเช เชธเชซเชณ เชฐเชนเซเชฏเซ. เชเซ เชคเซ เชจเชตเชพ เชเชจเซเชเซเชถเชจ เชชเชฐ เชเช เช เชฒเช เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชถเชฐเซ เชเชฐเซ เชเซ, เชคเซ เชธเชเชญเชตเชฟเชค เชนเซเชฎเชฒเชพเชเซเชฐเซ เชฎเชถเซเชจ เชชเชฐ เชธเชเชธเชพเชงเชจเซเชจเซ เชเชเซเชเซเชธเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชฌเชนเซเชตเชฟเชง เชเชจเซเชเซเชถเชจเซเชธ เชเซเชฒเซเชจเซ DDoS เชนเซเชฎเชฒเซ เชถเชฐเซ เชเชฐเซ เชถเชเซ เชเซ. เชเชจเซเชเซเชถเชจ เชฆเซเช เชเช เชฅเซเชฐเซเชก เชชเชฃ เชถเซเชฐเซเชทเซเช เชตเชฟเชเชฒเซเชช เชจเชฅเซ, เชเชพเชฐเชฃ เชเซ เชเชฐเซเชจเชฒ เชฅเซเชฐเซเชกเซเชจเซเช เชธเชเชเชพเชฒเชจ เชเชฐเชตเชพเชฎเชพเช เชธเชเชธเชพเชงเชจเซเชจเซ เชฌเชเชพเชก เชเชฐเชถเซ.
เชคเซเชฅเซ เช เชเซเชฐเชฟเชธ เชตเซเชฒเซเชจเซเชธเซ เชเชจเซเชกเชฒเซเชถ เชฎเชพเชเซ เชธเซเชฅเซ เชนเชณเชตเซ เชตเชฟเชเชฒเซเชช เชชเชธเชเชฆ เชเชฐเซเชฏเซ: เชธเชฟเชเชเชฒ-เชฅเซเชฐเซเชกเซเชก เชธเชฐเซเชตเชฐ poll(2)
, เชเซเชฏเชพเช เชเซเชฐเซเชชเชฎเชพเชเชจเชพ เชเซเชฒเชพเชฏเชจเซเช เชตเชฐเซเชเซเชฏเซเช
เชฒ เชฐเซเชคเซ เชเซเช เชตเชงเชพเชฐเชพเชจเชพ เชธเชเชธเชพเชงเชจเซเชจเซ เชเชชเชฏเซเช เชเชฐเชคเชพ เชจเชฅเซ, เชเชฐเซเชจเชฒเชฎเชพเช เชธเซเชเซเช เชเชฌเซเชเซเชเซเชเชจเซ เชเชฃเชคเชฐเซ เชเชฐเชคเชพ เชจเชฅเซ เช
เชจเซ เชเชจเซเชกเชฒเซเชถเชฎเชพเช เชเซเชฐเซเชเชฟเชเช เชฎเชพเชเซ เช
เชจเซเชฏ 78 เชฌเชพเชเชเซเชธ. เชฆเชฐเซเช เชเซเชฒเชพเชฏเชเช เชฎเชพเชเซ เชฌเชซเชฐเซเชธ เชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพ เช
เชจเซ เชฎเซเชเชฒเชตเชพเชจเซเช เชเชพเชณเชตเชพ เชฎเชพเชเซ, เชเชจเซเชกเชฒเซเชถ เชเช เชกเชพเชฏเชฐเซเชเซเช เชเชเซเชธเซเชธ เชธเซเชเซเช เชเซเชฒเซ เชเซ เช
เชจเซ เชฒเชเชญเช เชธเชฎเชเซเชฐ เชเชชเชฐเซเชเชฟเชเช เชธเชฟเชธเซเชเชฎ TCP/IP เชธเซเชเซเชเชจเซ เชฌเชพเชฏเชชเชพเชธ เชเชฐเซเชจเซ TCP เชชเซเชเซเชเซเชธเชจเซ เชธเซเชงเซ เช
เชจเซเชตเชพเชฆ เชเชฐเซ เชเซ. เชเชจเชเชฎเชฟเชเช เชฌเชซเชฐเชจเซ เชฌเชฟเชฒเชเซเชฒ เชเชฐเซเชฐ เชจเชฅเซ, เชเชพเชฐเชฃ เชเซ เช
เชฎเชจเซ เชเชจเชเชฎเชฟเชเช เชกเซเชเชพเชฎเชพเช เชฐเชธ เชจเชฅเซ.
เชฒเซเชเช เชเชนเซ เชเซ เชเซ เชคเซเชฎเชจเชพ เชเชพเชฐเซเชฏเชเซเชฐเชฎ เชธเชฎเชฏเซ
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())
เชเชจเชฒเชพเชเชจ เชฌเชฆเชฎเชพเชถเซเชจเซ เชธเชเชพ เชเชฐเชตเชพ เชฎเชพเชเซ เชคเชพเชฐเชชเซเช เช เชเช เชเชคเซเชคเชฎ เชธเชพเชงเชจ เชเซ. เชธเชพเชเซเช เชเซ, เชคเซเชจเชพเชฅเซ เชตเชฟเชชเชฐเซเชค, เชเซเชเซเชเชธ เชธเชฐเซเชตเชฐเชจเชพ เช
เชธเชพเชฎเชพเชจเซเชฏ เชตเชฐเซเชคเชจ เชคเชฐเชซ เชคเซเชฎเชจเซเช เชงเซเชฏเชพเชจ เชฆเซเชฐเชตเชพเชจเซเช เชเซเชเชฎ เชเซ. เชเซเชเชจเซ
เชธเซเชฐเซเชธ: www.habr.com