如何使用python的Asyncio修改数据包?

时间:2019-12-21 12:05:04

标签: python python-asyncio

我正在尝试使用python的Asyncio库修改TCP数据包的数据,并且坦率地说不确定是否甚至可能(我知道使用nfqueue的方法,但是我需要一个也涵盖osx和Windows的解决方案。 / p>

这是官方文档中的TCP回显服务器:

import asyncio

async def handle_echo(reader, writer):
    data = await reader.read(100)
    message = data.decode()
    addr = writer.get_extra_info('peername')
    print("Received %r from %r" % (message, addr))

    print("Send: %r" % message)
    writer.write(data)
    await writer.drain()

    print("Close the client socket")
    writer.close()

loop = asyncio.get_event_loop()
coro = asyncio.start_server(handle_echo, '127.0.0.1', 8888, loop=loop)
server = loop.run_until_complete(coro)

# Serve requests until Ctrl+C is pressed
print('Serving on {}'.format(server.sockets[0].getsockname()))
try:
    loop.run_forever()
except KeyboardInterrupt:
    pass

# Close the server
server.close()
loop.run_until_complete(server.wait_closed())
loop.close()

真的很想在这里添加数据包修改代码有帮助!

0 个答案:

没有答案