dee*_*cks 7 linux bash netcat tee named-pipe
我想使用 netcat 作为代理来记录 http 请求和对文件的响应,然后跟踪这些以检查流量。想想wireshark。
尝试了以下其中“fifo”是命名管道,“in”和“out”是文件,端口 8080 上的 netcat 代理,端口 8081 上的服务器。
虽然是真的;做猫fifo | nc -l -p 8080 | tee -a in | nc 本地主机 8081 | tee -a out 1>fifo; 完毕
问题:
Netcat 在第一次请求后停止响应(忽略循环?)。
localhost [127.0.0.1] 8081 (tproxy) : Connection refused
如果服务器在 8081 上不可用,Netcat 将失败并显示 msg 。 问:是否可以在发出请求时“延迟”连接到 8081?即我不想让 8081 在 netcat 启动时运行。
ncat可以很容易地做到这一点,使用 --sh-exec 参数。
以下命令将允许您实时查看 TCP 连接的两个方向,并允许多个连接。连接到example.com
被一次接收到的每一个连接来完成localhost:8080
。
ncat -lkv localhost 8080 -c 'tee /dev/stderr | ncat -v example.com 80 | tee /dev/stderr'
Run Code Online (Sandbox Code Playgroud)
如果您希望登录到文件而不是实时显示文件tee
,tee -a ./file
请将这两个命令更改为。您还可以删除-v
以禁用详细输出,仅将传输的数据打印到终端。
-k, --keep-open Accept multiple connections in listen mode
-l, --listen Bind and listen for incoming connections
-v, --verbose Set verbosity level (can be used several times)
-c, --sh-exec <command> Executes the given command via /bin/sh
Run Code Online (Sandbox Code Playgroud)
查看ncat --help
或man ncat
了解更多详情。
归档时间: |
|
查看次数: |
14403 次 |
最近记录: |