qq_43412960 2019-11-22 12:54 采纳率: 78.6%
浏览 261
已采纳

这是一个关于PYTHO的socket -raw问题

import   struct,array
import  socket,time
service=socket.socket(socket.AF_INET,socket.SOCK_RAW,socket.IPPROTO_ICMP)
service.settimeout(3)
head=struct.pack('bbHHh',8,0,0,1,1)
data=struct.pack('h',4)
bao=head+data
def jiaoyan(bao):
    sum=0
    if len(bao)&1:
        bao=bao+b'\0'
    words=array.array('h',bao)
    for  word in words:
        sum+=word
        word=word>>16+word&0xffff
        word = word >> 16 + word & 0xffff
        return  ~sum&0xffff

hhhhhhh=jiaoyan(bao)

head=struct.pack('bbHHh',8,0,hhhhhhh,1,1)
bao=head+data
service.sendto(bao,('127.0.0.1',2000))
data,add=service.recvfrom(100)

print(data)

service.close()

这是我写的完美的icmp包,然后ping主机的代码,但是运行后数据包超时。。

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-11-22 13:38
    关注

    先找一个现成的程序跑一下,排除下环境的问题,再对照下你的程序,icmp的程序大量都是

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?