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相关推荐

  1. Python获取列表list中的非零数据、第一个非零元素、最后一个非零元素

    ​ 有时候,会有这种小需求,但是又不想遍历一遍list(太蠢了,写出这种代码,都不好意思把代码给别人看了

  2. Python入门之linux指令篇2

    Python常用的linux指令,常用的不多,关注交流学习. 1.mv 1.作用 :剪切 / 重命名 2.格式 mv 文件/目录 路径 3.练习 1.在用户主目录下创建文件file3.txt 2.在f ...

  3. 快来领60 本书!涵盖 Linux、Spring Boot、Python、MongoDB、Hadoop等!免费包邮!

    「清华大学出版社」联系了包括K8S中文社区在内的 6 家技术公众号,送出 60 本技术书.内容涉及 Linux .Spring Boot.大数据.Python.MongoDB.数据挖掘.Hadoop等 ...

  4. 无网络服务器(linux ubuntu),pip安装python科学计算所有需要包(packages)

    无网络服务器(linux ubuntu),pip安装python科学计算所有需要包(packages) # 在windows上打开anaconda,进入环境tab页,在base环境处单击,然后点开te ...

  5. python可以在linux运行_在linux运行python

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! linux下编译安装python3与python2共存linux下默认系统自带p ...

  6. python脚本设置linux环境变量_Linux环境变量export方法与修改文件方法的区别

    玩蛇网推荐图文教程:python 列表 要想修改Linux环境变量有两种方法可以实现,但是关于Linux环境变量export方法与修改文件方法的区别你又了解多少呢?设置 Linux 环境变量可以通过 ...

  7. linux下安装idle和运行(linux下有两个python版本如何运行其中一个)

    linux系统会自带python,因为笔者有两个python版本,python2.7和python3.5,2的有idle,3的没有 安装如下: sudo apt-get install idle-py ...

  8. Python ssh连接Linux服务器报Incompatible ssh peer (no acceptable kex algorithm) 解决方法

    Python ssh连接Linux服务器报Incompatible ssh peer (no acceptable kex algorithm) 解决方法 参考文章: (1)Python ssh连接L ...

  9. python需要php吗-学python需要学linux吗

    不少Python新手经常问到学Python到底需不需要学习Linux? Python不是支持Windows和Linux操作系统吗?能在Windows下开发为什么还要学习Linux? 首选答案是肯定的, ...

最新文章

  1. python的id方法_python中id()函数的实用研究实例
  2. iOS 开发之便捷宏定义
  3. 创建 Web 部件页--msdn
  4. 韩国遭到日本制裁,三星被打回原形,原来是个组装工厂?
  5. 高效、精准、全面 山石网科数据安全产品线面市
  6. Libra教程之:Transaction的生命周期
  7. 山寨“饿了么”应用中添加菜品数量按钮效果
  8. 英文c语言笔试题,关于C语言模拟笔试题
  9. ios 键盘的一些问题
  10. thinkcmf5调用指定分类的二级_python机器学习API介绍11: 伯努利贝叶斯分类器
  11. 计算机毕业设计Java宠物医院后台管理系统设计与实现(源码+系统+mysql数据库+lw文档)
  12. java实现验证身份证号是否合法
  13. HTML跳转php没反应的问题解决
  14. macos显卡测试软件,GpuTest显卡测试软件 for Mac 64位
  15. 幻14 2021 R9 5900HS RTX3060 AX210装ubuntu18.04.5笔记
  16. 初学opencv 2
  17. JAVA星之语明星周边产品销售网站计算机毕业设计Mybatis+系统+数据库+调试部署
  18. maven的版本号version的总结及理解
  19. 大智慧新一代公式编辑语法大全
  20. WebService(CXF对外发布WebService服务)(1)

热门文章

  1. 如何快速搭建自己的独立站?
  2. ajax ashx 请选择文件,ajax+jquery+ashx如何实现上传文件
  3. ROS入门-14.参数的使用与编程方法
  4. 花书+吴恩达深度学习(八)优化方法之 Batch normalization
  5. LVS DR模式搭建、keepalived + LVS
  6. 【十五】Jmeter:“CSV 数据文件设置”参数化请求中出现带有空格的参数值
  7. python中wraps_【Python】Flask中@wraps的使用
  8. html 父模板,详解vue父子模版嵌套案例
  9. python多进程控制gui界面_Python优雅地终止了多进程和gui进程
  10. python安装依赖比较慢的解决方法