ChinaUnix.net
相关文章推荐:

python raw socket 接收组播数据包

raw socket发送数据包的问题 最近我使用raw socket编写一个简单的port sniffer,可是发现一个问题。 int sock = socket(PF_INET,socket_raw,IPPROTOCOL_TCP); ... ... setsockopt(sock,.......); 我自己组装tcp和ip数据包,发送出去,我也能接受到回复的数据包,但是出现了一个我不理解的地方。 当我向自己发送的时候(127.0.0.1),发送出去的seq=1234,我接收回来的数据包,seq=0,ack seq就等于ack_seq=seq+data_len+1,而且接...

by daixi - C/C++ - 2004-06-03 12:45:51 阅读(984) 回复(0)

相关讨论

“接受到的TCP分组和UDP分组决不会传递给任何原始套接口,如果一个进程希望读取包括TCP或UDP分组的IP数据报,那么他们必须在数据链路层读入” --《UNIX网络编程》 可是我看到的某些sniffer源码中是明明是使用原始套接子实现抓包的 如: sock=socket(AF_INET,SOCK_raw,IPPROTO_IP); 这又如何解释呢?

by kule - C/C++ - 2011-07-20 01:54:04 阅读(5249) 回复(10)

简单代码如下: recv_sock = socket (AF_INET, SOCK_DGRAM, 0); /* * Fill in the address structure for local_addr, and bind it. */ bzero(&local_addr, sizeof(local_addr)); local_addr.sin_family = AF_INET; local_addr.sin_port = htons( 8888 ) ; local_addr.sin_addr.s_addr = INADDR_ANY; //1//不指定...

by ammy - C/C++ - 2007-11-21 18:42:57 阅读(7281) 回复(2)

用C语言写了个前台,通过socket发交易到后台,后台返回字符串。当字符串长度小于1460字节时接收没问题;当字符串长度大于1460时只能接收到1460字节。 在本机上模拟后台返回是好的;对方(后台)说也是好的,看到包已经返回,其他前台发交易都没问题。 不知道为什么? 通讯设置的问题? 防火墙设置的问题? 还是其他? 请大家帮忙, :) 偶都搞了一天啦,唉, :em10: 没辙!谢谢

by nkliyong - 网络技术 - 2004-11-17 12:10:47 阅读(1423) 回复(1)

用C语言写了个前台,通过socket发交易到后台,后台返回字符串。当字符串长度小于1460字节时接收没问题;当字符串长度大于1460时只能接收到1460字节。 在本机上模拟后台返回是好的;对方(后台)说也是好的,看到包已经返回,其他前台发交易都没问题。 不知道为什么? 通讯设置的问题? 防火墙设置的问题? 还是其他? 请大家帮忙, :) 偶都搞了一天啦,唉, :em10: 没辙!谢谢

by nkliyong - 其他UNIX - 2004-11-12 09:09:15 阅读(2062) 回复(1)

用C语言写了个前台,通过socket发交易到后台,后台返回字符串。当字符串长度小于1460字节时接收没问题;当字符串长度大于1460时只能接收到1460字节。 在本机上模拟后台返回是好的;对方(后台)说也是好的,看到包已经返回,其他前台发交易都没问题。 不知道为什么? 通讯设置的问题? 防火墙设置的问题? 还是其他? 请大家帮忙, :) 偶都搞了一天啦,唉, :em10: 没辙!谢谢

by nkliyong - C/C++ - 2004-11-12 11:29:18 阅读(6105) 回复(3)

recv () 接收 获取头部数据 获取头部数据之后的部分数据 例如接收: ABCDEFGHJKL 我只接收 :EFGHJKL 前4个字节不要, 我如何去接收呢, 我只接收后7个字节, 可用什么接收呢, ????????????

by militala - C/C++ - 2008-02-28 16:55:32 阅读(1213) 回复(3)

如题目 另外:在win下怎样用setsockopt设置缓冲区大小,好像和unix不一样??

by li2002 - C/C++ - 2011-10-14 10:31:08 阅读(14912) 回复(12)

我想发携带IP包的以太网帧。 linux下面的基本代码如下 import socket import array s = socket.socket(socket.AF_PACKET, socket.SOCK_raw, 0x0800) # 以太网帧头的Protocol字段为0x0800表示携带的是IP包 s.bind(('eth0', 50007)) #绑定到eth0网口,使用50007端口,这里有问题不明,看下面的问题列表1 data = ['00', '11', '22', '33', '44', '55'] #目标MAC地址 data += ['66', '77', '88', '99', 'AA', 'BB'] #源MAC地址 data +...

by shaohao - Python - 2008-06-21 08:44:35 阅读(10388) 回复(2)

||8|1| 6576683| 9919019| 1655| 0| 0| 0|0|0| 62683913|\n ||8|1| 9919019| 6576683| 1086| 0| 0| 0|0|0| 013917097831|\n ||8|1| 6576683| 9919019| 1495| 0| 0| 0|0|0| 61073939|\n ||8|1| 9919019| 6576683| 892| 0| 0| 0|0|0| 13352888083|\n ||8|1| 6576683| 9919019| 1815| 0| 0| 0...

by senic - C/C++ - 2008-06-23 16:39:54 阅读(1647) 回复(3)

请问各位一个困扰我好久的问题:我在socket程序中,用一个客户端程序,去连接另一台机器上的服务端程序。然后传输由结构体数组转换成str结构后的数据包。我从客户端转成要数据包后发送到服务器端,发送成功,并在服务器端输出的数据包内容正确,然后服务器端把数据包不停的原样发回给客户端程序,问题就出现了,客户端收到的第一个数据包都是错误的,数据跟长度都错了。然而第一个包以后的各个数据包都正确,转换格式后仍然是客户端...

by mtx99 - C/C++ - 2007-09-04 14:43:30 阅读(6243) 回复(9)