Advertisement
Guest User

Untitled

a guest
Jun 28th, 2016
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. #!/usr/bin/env python
  2. from gevent.server import StreamServer
  3. from netfilterqueue import NetfilterQueue
  4. from gevent import monkey; monkey.patch_socket()
  5.  
  6. def print_and_accept(pkt):
  7. print(pkt)
  8. pkt.accept()
  9.  
  10. def echo(socket, address):
  11. print('New connection from %s:%s' % address)
  12. socket.sendall(b'Welcome to the echo server! Type quit to exit.\r\n')
  13. # using a makefile because we want to use readline()
  14. rfileobj = socket.makefile(mode='rb')
  15. while True:
  16. line = rfileobj.readline()
  17. if not line:
  18. print("client disconnected")
  19. break
  20. if line.strip().lower() == b'quit':
  21. print("client quit")
  22. break
  23. socket.sendall(line)
  24. print("echoed %r" % line)
  25. rfileobj.close()
  26.  
  27. if __name__ == '__main__':
  28. server = StreamServer(('127.0.0.1', 16000), echo)
  29. print('Starting echo server on port 16000')
  30. server.start()
  31.  
  32. nfqueue = NetfilterQueue()
  33. nfqueue.bind(1, print_and_accept)
  34. try:
  35. nfqueue.run2()
  36. except KeyboardInterrupt:
  37. print('')
  38.  
  39. nfqueue.unbind()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement