使用 nc 命令记录所有传入和传出的请求

使用 nc 命令记录所有传入和传出的请求

我有一个在 8080 监听的 Web 服务器,我想使用命令nc来监听 80 端口,这样所有传入的请求和传出的响应都会记录到两个文件中,即inflowoutflow

我已关注http://smaftoul.wordpress.com/2009/05/13/netcat-as-a-logging-tcp-proxy/,没有按预期工作。

 cat proxypipe | nc -l -p 80 | tee -a inflow | nc localhost 81 | tee -a outflow 1>proxypipe
usage: nc [-46DdhklnrStUuvzC] [-i interval] [-P proxy_username] [-p source_port]
          [-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_protocol]
          [-x proxy_address[:port]] [hostname] [port[s]]

答案1

仔细查看 netcat 提供的帮助输出

usage: ... [-p source_port] ...
       ... [hostname] [port[s]]

netcat 的选项-p指定了源端口,通常您不必关心它。如果您删除-p,它应该可以正常工作:

nc -l 80

至少,这将使 netcat 监听端口 80 上的连接。我不能说这是否会使您的日志代理工作。

相关内容