1

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と、いくつかのフィードバックが得られますが、Web ブラウザーを使用しようとすると、何も印刷できません。このコードを修正して、Web リクエストから出入りするパケットをリッスンするようにするにはどうすればよいですか?

4

3 に答える 3