我有一个在 8080 监听的 Web 服务器,我想使用命令nc
来监听 80 端口,这样所有传入的请求和传出的响应都会记录到两个文件中,即inflow
和outflow
。
我已关注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 上的连接。我不能说这是否会使您的日志代理工作。