Я пытаюсь использовать Racket для прослушивания пакетов, проходящих через порт 80 на моей машине. Тем не менее, я, кажется, натыкаюсь на стену либо с моим пониманием того, как работает анализатор пакетов, либо с моим пониманием того, как работает Racket, либо с тем и другим.
Вот мой код (большая часть взята из статьи Racket в Википедии).
#lang racket
(require racket/tcp)
(define listener (tcp-listen 80))
(define (echo-server)
(define-values (in out) (tcp-accept listener))
(thread (lambda () (copy-port in out)
(print (read in))
(close-output-port out)))
(echo-server))
(echo-server)
Когда я подключаюсь к localhost:80
, я получаю некоторую обратную связь, но когда я пытаюсь использовать свои веб-браузеры, я не могу ничего распечатать. Как изменить этот код, чтобы он прослушивал входящие и исходящие пакеты из веб-запросов?
packet-socket
(последнее обновление 2017 г.) обеспечивает доступ к необработанным кадрам Ethernet. - person Ryan   schedule 21.11.2019