数据包到达,但监听应用程序没有收到?

数据包到达,但监听应用程序没有收到?

我们收到由防火墙路由的请求,数据包具有正确的 IP 和端口,但未被我们的应用程序接收。

以下是来自 iptables 的日志:

Sep 18 15:53:42 frtrans01 kernel:  INPUT TCP IN=eth0 OUT= MAC=00:0c:29:13:2a:dc:58:49:3b:00:5c:11:08:00 SRC=109.1.186.112 DST=x.x.x.x LEN=52 TOS=0x00 PREC=0x00 TTL=117 ID=1616 DF PROTO=TCP SPT=3766 DPT=6322 WINDOW=65535 RES=0x00 SYN URGP=0

读取正常的数据包如下:

Oct  6 15:41:50 frtrans01 kernel: INPUT TCP IN=eth0 OUT= MAC=00:0c:29:13:2a:dc:58:49:3b:00:5c:11:08:00 SRC=170.118.98.33 DST=x.x.x.x LEN=60 TOS=0x10 PREC=0x00 TTL=62 ID=45368 DF PROTO=TCP SPT=41638 DPT=6322 WINDOW=5840 RES=0x00 SYN URGP=0

应用程序监听的 lsof 结果如下:

[root@frtrans01 ~]# lsof |grep LISTEN
...
java       2301      root   63u     IPv6    3556600                 TCP *:emp-server2 (LISTEN)

端口 emp-server2 是端口 6322。

收到的数据包有什么问题?

答案1

看起来您的守护进程只监听 IPv6,但您的数据包却通过 IPv4 传入。这可能是一个问题。

对吗?还是我忽略了什么?如果我错了,请使用 wireshark 或 tcpdump 查看数据包是否确实到达。

相关内容