问题描述
来自我局域网上的两台笔记本电脑(一台是 10.0.0.11,另一台是 10.0.0.15)。在一台笔记本电脑上,我可以通过聆听创建被动连接,一切正常,另一台笔记本电脑ACK
进行通信。但我不能以另一种方式做同样的事情 - 从另一台笔记本电脑制作被动倾听者:
LAP1 = 笔记本电脑(10.0.0.11),LAP2 = 笔记本电脑(10.0.0.15)
LAP1
$ tcpdump -i wlp2s0 -t -n src 10.0.0.15 or src 10.0.0.11 > output &
$ nc -nl 4444
hello
hi
^C
LAP2
$nc -n 10.0.0.11 4444
hello
hi
^C
现在一切正常,输出是:
IP 10.0.0.15.35410 > 10.0.0.11.4444: Flags [S],seq 3649576842,win 64240,options [mss 1460,sackOK,TS val 1557903826 ecr 0,nop,wscale 7],length 0
IP 10.0.0.11.4444 > 10.0.0.15.35410: Flags [S.],seq 2552044612,ack 3649576843,win 65160,TS val 2837963760 ecr 1557903826,TS val 2837964778 ecr 1557903826,TS val 2837966794 ecr 1557903826,length 0
IP 10.0.0.15.35410 > 10.0.0.11.4444: Flags [.],ack 1,win 502,options [nop,TS val 1557907412 ecr 2837963760],length 0
IP 10.0.0.11.4444 > 10.0.0.15.35410: Flags [P.],seq 1:7,win 510,TS val 2837966936 ecr 1557907412],length 6
IP 10.0.0.15.35410 > 10.0.0.11.4444: Flags [.],ack 7,TS val 1557907421 ecr 2837966936],length 0
IP 10.0.0.15.35410 > 10.0.0.11.4444: Flags [P.],seq 1:4,TS val 1557908702 ecr 2837966936],length 3
IP 10.0.0.11.4444 > 10.0.0.15.35410: Flags [.],ack 4,TS val 2837968227 ecr 1557908702],length 0
IP 10.0.0.11.4444 > 10.0.0.15.35410: Flags [F.],seq 7,TS val 2837971235 ecr 1557908702],length 0
IP 10.0.0.15.35410 > 10.0.0.11.4444: Flags [F.],seq 4,ack 8,TS val 1557911933 ecr 2837971235],length 0
IP 10.0.0.11.4444 > 10.0.0.15.35410: Flags [.],ack 5,TS val 2837971644 ecr 1557911933],length 0
到目前为止一切顺利。
但是如果我尝试以相反的方式启动:
LAP2:
$nc -nl 4444
LAP1:
$ tcpdump -i wlp2s0 -t -n src 10.0.0.15 or src 10.0.0.11 > output2 &
$nc -n 10.0.0.15 4444
我什至没有连接,10.0.0.11
(LAP1) 只是多次尝试发送 SEQ
但对方没有响应,因此握手不完整:
output2
的输出:
IP 10.0.0.11.47928 > 10.0.0.15.4444: Flags [S],seq 2268838313,TS val 2837899323 ecr 0,length 0
IP 10.0.0.11.47928 > 10.0.0.15.4444: Flags [S],TS val 2837900330 ecr 0,TS val 2837902346 ecr 0,length 0
...
如您所见,另一端 (10.0.0.15) 如果是被动连接则不响应。如果它像前一种情况一样活跃(不听,只是连接),没有问题。但如果它在听,它就没有响应。是什么原因造成的?如何解决这种单向连接?为什么主动连接,被动连接不连接?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)