我正在尝试将数据发送到端口 2003,我正在使用 tcpflow 进行监听,但是我看不到任何被打印或发送的数据?
正在向端口 127.0.0.1 发送数据 2003
echo hello | nc localhost 2003
或者
echo "test.count 4 `date +%s`" | nc -q0 127.0.0.1 2003
聆听数据
tcpflow -i lo port 2003
tcpflow: listening on lo
答案1
在 TCP 中,你不向端口发送数据。您发送连接请求到端口,如果被接受,则开始通过该连接发送数据。(TCP Fast Start 允许将数据与请求数据包捆绑在一起,但nc
不会这样做。)
因此,如果没有程序监听127.0.0.1
端口上的连接2003
...
# echo test | nc -v 127.0.0.1 2003
nc: connect to 127.0.0.1 port 2003 (tcp) failed: Connection refused
...数据根本不会被发送。