socket-python原始套接字的问题

问题描述

python原始套接字的问题

代码如下:

 import socket

addr='localhost'
serversocket=socket.socket(socket.AF_INET,socket.SOCK_RAW,socket.IPPROTO_IP)
serversocket.bind((addr,0))
serversocket.setsockopt(socket.IPPROTO_IP, socket.IP_HDRINCL, 1)
serversocket.ioctl(socket.SIO_RCVALL,socket.RCVALL_OFF)

print(serversocket.recvfrom(4096))

ping自己,但是这里什么都不显示。

由这图看到,ping自己就什么都没显示,求大神指点指点

解决方案

http://www.jb51.net/article/47158.htm

时间: 2024-11-03 11:48:30

socket-python原始套接字的问题的相关文章

python原始套接字编程示例分享_python

下面开始构造HTTP数据包, IP层和TCP层使用python的Impacket库,http内容自行填写. 复制代码 代码如下: #!/usr/bin/env python #-------------------------------------------------------------------------------# Name:     raw_http.py# Purpose:       construct a raw http get packet## Author:  

原始套接字-VPN到底是什么东西,有几个问题请教一下网络编程大神

问题描述 VPN到底是什么东西,有几个问题请教一下网络编程大神 1.有人说VPN能把系统的所有流量代理走,那么包不包括使用RAW Socket(原始套接字)发送的链路层数据帧呢? 2.VPN究竟是什么鬼?那PPTP协议是什么鬼?我能用原始套接字模拟PPTP连接吗,PPTP协议到底是什么协议,百度上有人说PPTP是第二层协议,那不就是链路层协议吗,还有人说PPTP基于TCP,我也是醉了.请问有没有关于VPN协议的书籍? 解决方案 vpn工作在ip层,RAW Socket的包不能保留,必须做修改,对

Python中利用原始套接字进行网络编程的示例

  这篇文章主要介绍了Python中利用原始套接字进行网络编程的示例,使用sock_raw接受和发送数据包可以避开网络协议的诸多限制,需要的朋友可以参考下 在实验中需要自己构造单独的HTTP数据报文,而使用SOCK_STREAM进行发送数据包,需要进行完整的TCP交互. 因此想使用原始套接字进行编程,直接构造数据包,并在IP层进行发送,即采用SOCK_RAW进行数据发送. 使用SOCK_RAW的优势是,可以对数据包进行完整的修改,可以处理IP层上的所有数据包,对各字段进行修改,而不受UDP和TC

sock-怎么用python和原始套接字发送一tcp数据包?

问题描述 怎么用python和原始套接字发送一tcp数据包? 这段代码直接把数据packet_base作为ip的载荷了,怎么才能是packet_base作为tcp的载荷呢?谢谢 sock = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP) sock.sendto(packet_base, 0, (IP_PACKET_IN, 12321)) sock.close() 解决方案 把你的代码修改成如下就是TCP啦:

socket-Android NDK如何获取原始套接字(Raw Socket)

问题描述 Android NDK如何获取原始套接字(Raw Socket) 这是我在学校的本科毕业设计.是要在安卓手机上实现Traceroute功能.我编写了C语言的tracetoute程序,已经在Linux平台上正确运行了,但是移植到Android平台上的时候,总是无法获取到原始套接字啊,int sockId = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP),sockid总是小于0.我的手机已经获取root权限了(su chmod777+一个刷过的安卓手机).

一个基于原始套接字的嗅探器

嗅探器这个代码我去年的时候就已经写过了,这个学期并不是非常忙,顺手复习网络,就又尝试着写了一遍. 其实在写嗅探器的时候,最主要的还是要将网卡设置为混杂模式.在此基础之上,对抓到的数据包进行分析. 这个是我写出来的效果图,目前只是方便于查看,连菜单都没添加: 左面的界面显示的是主机和主机之间的链接信息,而右面则是选中主机信息之间的数据交互情况. 我觉得我这个嗅探器应该是个失败品,或者说,没能够真正的将网卡设置为混杂模式.因为可以看到,上面的源地址全部都是本地主机地址,我在下载视频文件的时候,每秒几

用原始套接字实现网络监听

1.引言 网络监听工具(sinff)是提供给网络管理员的一类管理工具.在以太网中(Ethernet),当网络上连接多台计算机时,某瞬间只能有一台计算机可以传送数据.以太网中,数据是以被称为帧的数据结构为单位进行交换的.通常,在计算机网络上交换的数据结构体的单位是数据包.而在以太网中则称为帧.这种数据包是由记录着数据包发送给对方所必需信息的报头部分和记录着发送信息的报文部分构成.报头部分包含接收端的地址.发送端的地址.数据校验码等信息. 在以太网上,帧(数据包)是被称为带碰撞检测的载波侦听多址访问

代码-linux的xterm开启的终端里使用原始套接字发送数据包出错,求助

问题描述 linux的xterm开启的终端里使用原始套接字发送数据包出错,求助 xterm下原始套接字可以接收数据包,但是发送数据包时出错,怎么解决? 错误是[error 101]network is unreachable. 代码如下: proto = socket.getprotobyname('tcp') # only tcp sock = socket.socket( socket.AF_INET, socket.SOCK_RAW, proto ) packet_base = sock.

网络编程-原始套接字实现SYN扫描,但用wireshark时始终没有发现发出去的包

问题描述 原始套接字实现SYN扫描,但用wireshark时始终没有发现发出去的包 #include #include #include #include #include #include "WS2TCPIP.H" #pragma comment(lib,"Ws2_32.lib") using namespace std; //SOCKADDR_IN target, source; //sockaddr_in target, source; //int sock;