【问题标题】:Why don't the tcp server reply my syn packet when I try to connect it through raw socket?当我尝试通过原始套接字连接它时,为什么 tcp 服务器不回复我的 syn 数据包?
【发布时间】:2014-12-26 02:20:46
【问题描述】:

这取决于iphdr.saddr 字段。 当它设置为我自己的地址或随机多播地址时,我可以看到服务器回复了 syn/ack 数据包。 如果设置为其他 ip,则服务器不回复。 怎么解释?

多播地址案例: 13:55:08.242535 IP 240.151.224.61.13579 > localhost.5223: Flags [S], seq 123456, win 4096, length 0 E..(g+..@......=....5..g...@....P...$X.. 13:55:14.906511 IP 239.151.224.61.13579 > localhost.5223: Flags [S], seq 123456, win 4096, length 0 E..(g+..@......=....5..g...@....P...%X.. 13:55:14.906549 IP localhost.5223 > 239.151.224.61.13579: Flags [S.], seq 3502093187, ack 123457, win 43690, options [mss 65495], length 0 E..,..@.@..........=.g5........A...N....... 13:55:15.904599 IP localhost.5223 > 239.151.224.61.13579:标志 [S.],seq 3502093187,ack 123457,win 43690,选项 [mss 65495],长度 0

`

我自己的地址案例: 14:14:22.989225 IP slave1.domain.com.13579 > localhost.5223: Flags [S], seq 123456, win 4096, length 0 E..(g+..@......m....5..g...@....P...3... 14:14:22.989236 IP localhost.5223 > slave1.domain.com.13579: Flags [S.], seq 3228604881, ack 123457, win 43690, options [mss 65495], length 0 E..,..@.@..........m.g5..p.....A...A5...... 14:14:22.989259 IP slave1.domain.com.13579 > localhost.5223: 标志 [.], ack 3228604882, win 4096, 长度 0 E..(..@.@.......m....5..g...A.p..P....... `

没有 syn/ack 回复案例: 14:16:18.719629 IP 223.151.224.61.13579 > localhost.5223: Flags [S], seq 123456, win 4096, length 0 E..(g+..@......=....5..g...@....P...5X.. 14:16:46.511299 IP 240.151.224.61.13579 > localhost.5223: Flags [S], seq 123456, win 4096, length 0 E..(g+..@......=....5..g...@....P...$X..

【问题讨论】:

    标签: linux sockets networking tcp-ip tcpdump


    【解决方案1】:

    iphdr.saddr代表IP包的源地址。我假设您的SYN 数据包的接收端将尝试以ACK 响应您在IP 数据包中提供的任何源地址。

    【讨论】:

    • 除非iphdr.saddr被设置为多播类型地址,否则服务器没有回复我
    猜你喜欢
    • 1970-01-01
    • 2021-10-31
    • 1970-01-01
    • 2022-11-19
    • 1970-01-01
    • 2014-01-20
    • 2018-10-27
    • 2022-01-01
    • 1970-01-01
    相关资源
    最近更新 更多