国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python構造icmp echo請求和實現網絡探測器功能代碼分享

2020-02-23 05:05:06
字體:
來源:轉載
供稿:網友

python發送icmp echo requesy請求

代碼如下:
import socket
import struct

def checksum(source_string):
    sum = 0
    countTo = (len(source_string)/2)*2
    count = 0
    while count<countTo:
        thisVal = ord(source_string[count + 1])*256 + ord(source_string[count])
        sum = sum + thisVal
        sum = sum & 0xffffffff
        count = count + 2
    if countTo<len(source_string):
        sum = sum + ord(source_string[len(source_string) - 1])
        sum = sum & 0xffffffff
    sum = (sum >> 16)  +  (sum & 0xffff)
    sum = sum + (sum >> 16)
    answer = ~sum
    answer = answer & 0xffff
    answer = answer >> 8 | (answer << 8 & 0xff00)
    return answer

def ping(ip):
    s = socket.socket(socket.AF_INET, socket.SOCK_RAW, 1)
    packet = struct.pack(
            "!BBHHH", 8, 0, 0, 0, 0
    )
    chksum=checksum(packet)
    packet = struct.pack(
            "!BBHHH", 8, 0, chksum, 0, 0
    )
    s.sendto(packet, (ip, 1))

if __name__=='__main__':
    ping('192.168.41.56')


掃描探測網絡功能(網絡探測器)

代碼如下:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

'''
探測網絡主機存活。
'''

import os
import struct
import array
import time
import socket
import IPy
import threading

class SendPingThr(threading.Thread):
    '''
    發送ICMP請求報文的線程。

    參數:
        ipPool      -- 可迭代的IP地址池
        icmpPacket  -- 構造的icmp報文
        icmpSocket  -- icmp套字接
        timeout     -- 設置發送超時
    '''
    def __init__(self, ipPool, icmpPacket, icmpSocket, timeout=3):
        threading.Thread.__init__(self)
        self.Sock = icmpSocket
        self.ipPool = ipPool
        self.packet = icmpPacket
        self.timeout = timeout
        self.Sock.settimeout( timeout + 3 )

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东海县| 中西区| 延川县| 商洛市| 香河县| 清流县| 泾阳县| 时尚| 阜平县| 赤壁市| 锡林浩特市| 吉林省| 广德县| 上栗县| 霍山县| 如东县| 宣武区| 彰化县| 顺平县| 阳谷县| 盖州市| 红河县| 郴州市| 沿河| 饶阳县| 苏尼特右旗| 大足县| 泗洪县| 古丈县| 红原县| 东城区| 陵川县| 班玛县| 台北县| 东辽县| 泸水县| 凉城县| 福鼎市| 资源县| 肥西县| 平山县|