当前位置: 技术问答>linux和unix
问一个网络监听问题
来源: 互联网 发布时间:2015-06-28
本文导语: 问一个网络监听问题 大家好 问一个网络监听问题: 本机系统TURBO LINUX。(在 伪IP SYN包的发送中) 1:我用本机给另一主机发一个包,不知道本机发包的端口。怎么样能够知道包是否发送成功?(tcpdump tracero...
问一个网络监听问题
大家好 问一个网络监听问题:
本机系统TURBO LINUX。(在 伪IP SYN包的发送中)
1:我用本机给另一主机发一个包,不知道本机发包的端口。怎么样能够知道包是否发送成功?(tcpdump traceroute该怎么用?)。
2:怎么样能知道自己收到的包的源IP,源端口?(知道目的端口-本机的端口该怎么做? 不知道目的端口该怎么做?)
大家好 问一个网络监听问题:
本机系统TURBO LINUX。(在 伪IP SYN包的发送中)
1:我用本机给另一主机发一个包,不知道本机发包的端口。怎么样能够知道包是否发送成功?(tcpdump traceroute该怎么用?)。
2:怎么样能知道自己收到的包的源IP,源端口?(知道目的端口-本机的端口该怎么做? 不知道目的端口该怎么做?)
|
2:怎么样能知道自己收到的包的源IP,源端口
if((new_fd=accept(sockfd,(struct sockaddr *)(&client_addr),&sin_size))==-1)
{
fprintf(stderr,"Accept error:%sna",strerror(errno));
exit(1);
}
fprintf(stderr,"Server get connection from %sn", inet_ntoa(client_addr.sin_addr)); // ip
printf("client port is %dn", ntohs(client_addr.sin_port));
}
if((new_fd=accept(sockfd,(struct sockaddr *)(&client_addr),&sin_size))==-1)
{
fprintf(stderr,"Accept error:%sna",strerror(errno));
exit(1);
}
fprintf(stderr,"Server get connection from %sn", inet_ntoa(client_addr.sin_addr)); // ip
printf("client port is %dn", ntohs(client_addr.sin_port));
}
|
建议你找一些嗅探器的文章看一下,
你理解的有问题,
嗅探器不要建立TCP连接,是工作在网络层的,你的程序在上一层
跟我本科毕设的错误差不多,
你不是西电的吧?
给你两篇文章你先看一下
http://www.20cn.net/ns/cn/jc/data/20020812014132.htm
http://www.xfocus.net/articles/200110/279.html(win下的,linux下的没有这么麻烦)
http://54angel.myrice.com/jiaocheng/h128.htm(重点看这个,linux下的,有源码)
先给你这几个,我刚在网上找的,还可以
估计你看完后会有一个新的认识的
你理解的有问题,
嗅探器不要建立TCP连接,是工作在网络层的,你的程序在上一层
跟我本科毕设的错误差不多,
你不是西电的吧?
给你两篇文章你先看一下
http://www.20cn.net/ns/cn/jc/data/20020812014132.htm
http://www.xfocus.net/articles/200110/279.html(win下的,linux下的没有这么麻烦)
http://54angel.myrice.com/jiaocheng/h128.htm(重点看这个,linux下的,有源码)
先给你这几个,我刚在网上找的,还可以
估计你看完后会有一个新的认识的
|
还有,发送数据包和接受数据包都是工作在IP层,也就是网路层的
就是原始套接字 RAW_SOCKET,而不是TCP那层的
在socket()调用的参数就不一样
就是原始套接字 RAW_SOCKET,而不是TCP那层的
在socket()调用的参数就不一样
|
1.在另一台机运行一个数据包监听程序,不就知道包是否发送成功了吗?
2.不是很理解你的问题
2.不是很理解你的问题
|
1:我用本机给另一主机发一个包,不知道本机发包的端口。怎么样能够知道包是否发送成功?(tcpdump traceroute该怎么用?)。
你可以让另一主机接收到后,马上给你发一个收到的消息回来 。
你可以让另一主机接收到后,马上给你发一个收到的消息回来 。