Linux的ping用python,python与linux中的非特权ping IPPROTO_ICMP
current_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM,socket.IPPROTO_ICMP)
作为根I“回波1000 1000>的/ proc/SYS /网/的IPv4/ping_group_range”
我的组是1000
,我可以为我自己作为一个普通用户的身份运行ping.py,我可以看到echo请求和回应回复中tcpdump的
18:33:24.840291 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 269)
127.0.0.1 > 127.0.0.1: ICMP echo request, id 38, seq 0, length 249
18:33:24.840309 IP (tos 0x0, ttl 64, id 37939, offset 0, flags [none], proto ICMP (1), length 269)
127.0.0.1 > 127.0.0.1: ICMP echo reply, id 38, seq 0, length 249
但ping.py没有看到回复,并说超时。
任何想法如何使这项工作?
编辑:
我正在缩小这个问题。
print "c", icmp_header, address, self.own_id
if icmp_header["packet_id"] == self.own_id: # Our packet
问题是icmp_header [ “packet_id”]总是8247和self.own_id是ping.py.的PID 8247是十六进制的2037,我可以在转储中看到相当多的时间。
这是一个平的丝
19:25:15.513285 00:00:00:00:00:00 > 00:00:00:00:00:00, ethertype IPv4 (0x0800), length 283: (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 269)
127.0.0.1 > 127.0.0.1: ICMP echo request, id 70, seq 2, length 249
0x0000: 4500 010d 0000 4000 4001 3bee 7f00 0001 [email protected]@.;.....
0x0010: 7f00 0001 0800 d932 0046 0002 5b36 362c .......2.F..[66,
0x0020: 2036 372c 2036 382c 2036 392c 2037 302c .67,.68,.69,.70,
0x0030: 2037 312c 2037 322c 2037 332c 2037 342c .71,.72,.73,.74,
0x0040: 2037 352c 2037 362c 2037 372c 2037 382c .75,.76,.77,.78,
0x0050: 2037 392c 2038 302c 2038 312c 2038 322c .79,.80,.81,.82,
0x0060: 2038 332c 2038 342c 2038 352c 2038 362c .83,.84,.85,.86,
0x0070: 2038 372c 2038 382c 2038 392c 2039 302c .87,.88,.89,.90,
0x0080: 2039 312c 2039 322c 2039 332c 2039 342c .91,.92,.93,.94,
0x0090: 2039 352c 2039 362c 2039 372c 2039 382c .95,.96,.97,.98,
0x00a0: 2039 392c 2031 3030 2c20 3130 312c 2031 .99,.100,.101,.1
0x00b0: 3032 2c20 3130 332c 2031 3034 2c20 3130 02,.103,.104,.10
0x00c0: 352c 2031 3036 2c20 3130 372c 2031 3038 5,.106,.107,.108
0x00d0: 2c20 3130 392c 2031 3130 2c20 3131 312c ,.109,.110,.111,
0x00e0: 2031 3132 2c20 3131 332c 2031 3134 2c20 .112,.113,.114,.
0x00f0: 3131 352c 2031 3136 2c20 3131 372c 2031 115,.116,.117,.1
0x0100: 3138 2c20 3131 392c 2031 3230 5d 18,.119,.120]
19:25:15.513300 00:00:00:00:00:00 > 00:00:00:00:00:00, ethertype IPv4 (0x0800), length 283: (tos 0x0, ttl 64, id 37971, offset 0, flags [none], proto ICMP (1), length 269)
127.0.0.1 > 127.0.0.1: ICMP echo reply, id 70, seq 2, length 249
0x0000: 4500 010d 9453 0000 4001 e79a 7f00 0001 [email protected]
0x0010: 7f00 0001 0000 e132 0046 0002 5b36 362c .......2.F..[66,
0x0020: 2036 372c 2036 382c 2036 392c 2037 302c .67,.68,.69,.70,
0x0030: 2037 312c 2037 322c 2037 332c 2037 342c .71,.72,.73,.74,
0x0040: 2037 352c 2037 362c 2037 372c 2037 382c .75,.76,.77,.78,
0x0050: 2037 392c 2038 302c 2038 312c 2038 322c .79,.80,.81,.82,
0x0060: 2038 332c 2038 342c 2038 352c 2038 362c .83,.84,.85,.86,
0x0070: 2038 372c 2038 382c 2038 392c 2039 302c .87,.88,.89,.90,
0x0080: 2039 312c 2039 322c 2039 332c 2039 342c .91,.92,.93,.94,
0x0090: 2039 352c 2039 362c 2039 372c 2039 382c .95,.96,.97,.98,
0x00a0: 2039 392c 2031 3030 2c20 3130 312c 2031 .99,.100,.101,.1
0x00b0: 3032 2c20 3130 332c 2031 3034 2c20 3130 02,.103,.104,.10
0x00c0: 352c 2031 3036 2c20 3130 372c 2031 3038 5,.106,.107,.108
0x00d0: 2c20 3130 392c 2031 3130 2c20 3131 312c ,.109,.110,.111,
0x00e0: 2031 3132 2c20 3131 332c 2031 3134 2c20 .112,.113,.114,.
0x00f0: 3131 352c 2031 3136 2c20 3131 372c 2031 115,.116,.117,.1
0x0100: 3138 2c20 3131 392c 2031 3230 5d 18,.119,.120]
AFAICT完全转储,ICMP报头可能被打包错误。然而它只是一个狂野的刺,我会在稍后再盯一下,同时,任何帮助将不胜感激。
2012-12-24
chesty
Linux的ping用python,python与linux中的非特权ping IPPROTO_ICMP相关推荐
- Python获取列表list中的非零数据、第一个非零元素、最后一个非零元素
有时候,会有这种小需求,但是又不想遍历一遍list(太蠢了,写出这种代码,都不好意思把代码给别人看了
- Python入门之linux指令篇2
Python常用的linux指令,常用的不多,关注交流学习. 1.mv 1.作用 :剪切 / 重命名 2.格式 mv 文件/目录 路径 3.练习 1.在用户主目录下创建文件file3.txt 2.在f ...
- 快来领60 本书!涵盖 Linux、Spring Boot、Python、MongoDB、Hadoop等!免费包邮!
「清华大学出版社」联系了包括K8S中文社区在内的 6 家技术公众号,送出 60 本技术书.内容涉及 Linux .Spring Boot.大数据.Python.MongoDB.数据挖掘.Hadoop等 ...
- 无网络服务器(linux ubuntu),pip安装python科学计算所有需要包(packages)
无网络服务器(linux ubuntu),pip安装python科学计算所有需要包(packages) # 在windows上打开anaconda,进入环境tab页,在base环境处单击,然后点开te ...
- python可以在linux运行_在linux运行python
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! linux下编译安装python3与python2共存linux下默认系统自带p ...
- python脚本设置linux环境变量_Linux环境变量export方法与修改文件方法的区别
玩蛇网推荐图文教程:python 列表 要想修改Linux环境变量有两种方法可以实现,但是关于Linux环境变量export方法与修改文件方法的区别你又了解多少呢?设置 Linux 环境变量可以通过 ...
- linux下安装idle和运行(linux下有两个python版本如何运行其中一个)
linux系统会自带python,因为笔者有两个python版本,python2.7和python3.5,2的有idle,3的没有 安装如下: sudo apt-get install idle-py ...
- Python ssh连接Linux服务器报Incompatible ssh peer (no acceptable kex algorithm) 解决方法
Python ssh连接Linux服务器报Incompatible ssh peer (no acceptable kex algorithm) 解决方法 参考文章: (1)Python ssh连接L ...
- python需要php吗-学python需要学linux吗
不少Python新手经常问到学Python到底需不需要学习Linux? Python不是支持Windows和Linux操作系统吗?能在Windows下开发为什么还要学习Linux? 首选答案是肯定的, ...
最新文章
- python的id方法_python中id()函数的实用研究实例
- iOS 开发之便捷宏定义
- 创建 Web 部件页--msdn
- 韩国遭到日本制裁,三星被打回原形,原来是个组装工厂?
- 高效、精准、全面 山石网科数据安全产品线面市
- Libra教程之:Transaction的生命周期
- 山寨“饿了么”应用中添加菜品数量按钮效果
- 英文c语言笔试题,关于C语言模拟笔试题
- ios 键盘的一些问题
- thinkcmf5调用指定分类的二级_python机器学习API介绍11: 伯努利贝叶斯分类器
- 计算机毕业设计Java宠物医院后台管理系统设计与实现(源码+系统+mysql数据库+lw文档)
- java实现验证身份证号是否合法
- HTML跳转php没反应的问题解决
- macos显卡测试软件,GpuTest显卡测试软件 for Mac 64位
- 幻14 2021 R9 5900HS RTX3060 AX210装ubuntu18.04.5笔记
- 初学opencv 2
- JAVA星之语明星周边产品销售网站计算机毕业设计Mybatis+系统+数据库+调试部署
- maven的版本号version的总结及理解
- 大智慧新一代公式编辑语法大全
- WebService(CXF对外发布WebService服务)(1)
热门文章
- 如何快速搭建自己的独立站?
- ajax ashx 请选择文件,ajax+jquery+ashx如何实现上传文件
- ROS入门-14.参数的使用与编程方法
- 花书+吴恩达深度学习(八)优化方法之 Batch normalization
- LVS DR模式搭建、keepalived + LVS
- 【十五】Jmeter:“CSV 数据文件设置”参数化请求中出现带有空格的参数值
- python中wraps_【Python】Flask中@wraps的使用
- html 父模板,详解vue父子模版嵌套案例
- python多进程控制gui界面_Python优雅地终止了多进程和gui进程
- python安装依赖比较慢的解决方法