0
我想使用原始套接字发送数据包。制作数据包的目标IP与原始套接字发送的目标ip参数之间的区别()
如果我创建一个IP数据包(icmp,tcp或udp数据包),则源IP和目的IP位于IP数据包中。现在我想通过以下线路发送它:
memset(&sin, 0, sizeof(sin));
sin.sin_family = AF_INET;
sin.sin_addr.s_addr = inet_addr(dst_ip);
sendto(sd, packet, 60, 0, (struct sockaddr *)&sin, sizeof(sin));
当然dst_ip
应该是相同的数据包中的目的IP。
我想知道如果dst_ip
不是在数据包中的目标IP相同会发生什么。在我看来,dst_ip
用于决定应使用哪个NIC发送数据包。而制作的数据包中的目标IP不会被dst_ip
更改,并且将由网络内路由器处理。
我的理解是否正确?还有其他的区别吗?
谢谢!
我没有找到你的答案和我的问题之间的强烈关系 – misteryes
@misteryes请参阅编辑。 – EJP