首页 > TAG信息列表 > raw-sockets

如何在Python中从TCP套接字读取完整的IP帧?

我需要使用Python从TCP流套接字读取完整的(原始)IP帧.本质上,我想要一个未修改的帧,就像它脱离物理线路一样,包括所有标头信息. 我一直在研究Python中的原始套接字,但是遇到了一些问题.我不需要形成自己的数据包,只需要逐字阅读和转发它们. 那么,如何从现有的TCP套接字(在Python中)

混杂模式下的数据包套接字仅接收本地流量

我有一个使用socket(PF_PACKET,SOCK_RAW,htons(ETH_P_ALL))创建的套接字,并使用以下命令将其设置为混杂模式: struct ifreq ifr; strncpy((char*)ifr.ifr_name, interface, IF_NAMESIZE); if(ioctl(sock, SIOCGIFINDEX, &ifr)<0) fail(2); struct packet_mreq mr; memset(&mr, 0,

c-使用TPACKET_V2时,VLAN ID设置为0

我对此TPACKET_V2的用法有疑问. 我的问题是,在套接字上设置了这种类型的数据包之后,当我尝试接收一些数据包时,我无法从数据包(当然是从数据包的标头)读取vlan ID,vlan_tci永远为0. 现在,我使用的是开放式suse sp1,当我在sless sp2上运行程序时,我可以使用在sless sp1上不起作用的

可以在同一台机器上安全地运行多个Android模拟器并使用套接字进行通信吗?

我想在一台笔记本电脑(最坏情况)或私人网络上的几台机器上模拟一小部分Android设备.这用于测试Android上的通信和进程迁移. 是否有一种安全的方法可以在Eclipse下从给定的应用程序中识别和启动特定的模拟器?我有一个最近的Eclipse / Java / ADT设置,我正在使用Mark Murphy,Meier和Ab

如何通过RAW套接字发送修改后的IPv6报文?

我正在尝试通过C Linux中的RAW套接字发送自定义IPv6标头. 我已经使用IP_HDRINCL套接字选项在IPv4中取得了成功,但是,IPv6并不等效. 我发现一个解决方法here建议使用套接字(AF_INET6,SOCK_RAW,IPPROTO_RAW)与启用IP_HDRINCL套接字选项具有相同的效果. 套接字创建成功,我没有收到任何

linux – 如何丢弃原始套接字中的传入数据包?

我正在Linux下编写一个C/C++应用程序,它从原始套接字读取数据(用于ICMP数据包).问题:有没有办法丢弃仍然在套接字上排队的所有数据? 问题是睡了一会儿之后,插座上排队的数据我不感兴趣;所以最好只告诉套接字“忘记你现在缓冲的所有数据”,这样如果我进入select()/ recvfrom()循环,那

从PHP连接到OrientDB

我想为OrientDB的二进制API编写PHP适配器. 但是我需要一些在PHP中具有原始套接字通信经验的人的帮助 – 我似乎无法超越将PHP连接到OrientDB的第一个障碍. 如果有人使用套接字来体验这个,我将不胜感激: http://code.google.com/p/orient/issues/detail?id=126 如果我们可以通过第一

python套接字:确保在关闭连接之前发送TCP数据包

我正在使用通过TCP控制的中继.据我所知,以下代码应该起作用: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(('192.168.0.200', 17494)) s.send(chr(101)) s.close() 但是,我注意到在实际发送包之前套接字已关闭,并且中继没有做任何事情.作为肮脏的解决方案,

如何在python程序中嵌入C代码?

我想编写一个使用多线程原始套接字的程序来扫描python中的端口 我有一个C代码注入原始套接字.我想执行ACK扫描,因此需要一个原始套接字. 所以请帮助我. 谢谢解决方法:请查看Cython.它使包装C代码变得非常容易. 这是从documentation on calling external C functions改编的: cdef ex

Linux上C/C++中的简单原始套接字服务器

我正在尝试使用原始套接字构建以太网网络.我不能使用TCP / IP,UDP或任何其他协议. 这是因为它将与非常简单的硬件进行通信,这些硬件将没有资源来处理所有不同的协议层. 我的网络将由1台主机通过以太网交换机与多个硬件进行通信.在这一点上,我基本上只想向每个硬件发送简单的数据包,

如何在PHP中逐字节写入socket?

如何在PHP中逐字节写入socket? 例如,我该怎么做: socket_write($socket,$msg.14.56.255.11.7.89.152,strlen($msg)+7); 伪代码连接数字实际上是dec中的字节.希望你能理解我.解决方法:您可以使用pack函数将数据打包到您希望的任何数据类型中.然后使用任何socket功能发送它. $strLen

Linux上的PHP和RAW SOCKETS

做一个就足够了 sudo setcap cap_net_raw=eip /usr/bin/php5 能够在Linux中使用PHP(而不是CLI)中的RAW SOCKETS吗? 如果是,那么它不起作用(但开始在CLI中工作但不使用Apache) 所以我想我也必须将这些权限授予Apache,但我无法知道如何. 你能帮助我吗? PHP脚本中的错误: 警告:socket_cr