<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Python 實現 Ping 功能

      【生活經歷分享】華師國培 華師伴學 合同都是坑 消費者付款后無法退款
      和華師國培簽合同需小心,合同中都是保護華師的條款,沒有保護消費者的條款。
      收到錢,就算你因對培訓質量不滿意,也不能退款。因合同消費者維權肯定十分艱難。
      華師伴學的授課方式是看錄制的視頻,不是真人現場教學。是否是您和孩子想要的學習方式?
      各位打算報名的,交費要謹慎!
      其他人在小紅書上發的,轉:

      深圳市華師國培教育科技有限公司,黑心機構,大家擦亮眼睛,別被騙了,消費欺詐,虛假承諾,簽合同各種坑,收到錢了不履行承諾不退款,亂扣費,維權艱難! - 小紅書

       

       

      Python 實現 Ping 功能(但目前功能不成功),源代碼如下:

       1 import threading
       2 import time
       3 
       4 from random import randint
       5 
       6 from scapy.all import IP, TCP, ICMP, sr1
       7 
       8 class pingOneAddress(threading.Thread):
       9     def __init__(self, ipStr: str):
      10         super().__init__()
      11         self.setDaemon(True)
      12         self.running = None
      13         self.ipStr = ipStr
      14         self._stop_event = threading.Event()
      15         self.start()
      16 
      17     @staticmethod
      18     def icmp_ping(target_ip: str):
      19         ret = False
      20         # 構造ICMP請求包
      21         id_ip = randint(1, 65535)
      22         id_ping = randint(1, 65535) # 隨機產生 ping ID 位
      23         seq_ping = randint(1, 65535) # 隨機產生 ping 序列號位
      24         # icmp = IP(dst=target_ip, ttl=64,id=id_ip) / ICMP(type=8,id=id_ping,seq=seq_ping)
      25         # icmp = IP(dst=target_ip, ttl=64, id=id_ip) / ICMP(type=8) / b'welcome tst ping'
      26         icmp = IP(dst=target_ip, ttl=64,id=id_ip) / ICMP(id=id_ping,seq=seq_ping) / b'welcome tst ping.welcome tt ping'
      27         # 發送ICMP請求并接收響應
      28         print(icmp)
      29         reply = sr1(icmp, timeout=3, verbose=False)
      30 
      31         if reply:   # 此處一直返回  None
      32             replyRes = reply[0]
      33             replyAns = reply[1]
      34             if reply[IP].src == target_ip:
      35                 if replyAns.listname == 'Unanswered':
      36                     print(f"Ping:沒有從 {target_ip} 收到回應")
      37                 else:
      38                     print(f"Ping:從 {target_ip} 收到回應")    # 設備開機也執行不到此行??????
      39                     ret = True
      40                 # print(f"收到來自 {reply[IP].src} 的回應,序列號 {reply[ICMP].seq}")
      41         else:
      42             print(f"Ping:沒有回應:  {target_ip}")
      43 
      44         return ret
      45 
      46     def run(self):
      47         print(f"ping {self.ipStr} start...")
      48         while self._stop_event:
      49             time.sleep(6)
      50             ret_val = pingOneAddress.icmp_ping(self.ipStr)
      51 
      52     def stop(self):
      53         print("ping end.")
      54         self.running = False  # 設置標志位為 False 來停止
      55         self._stop_event.set()
      56         self.join()

       

       

      這是運行的 Log:

      ping 172.20.3.34 start...
      running count No.1
      running count No.2
      running count No.3
      running count No.4
      running count No.5
      running count No.6
      IP / ICMP 172.20.3.2 > 172.20.3.34 echo-request 0 / Raw
      running count No.7
      running count No.8
      WARNING: MAC address to reach destination not found. Using broadcast.
      running count No.9
      running count No.10
      running count No.11
      Ping:沒有回應:  172.20.3.34

       

      情況說明:

      命令行執行 ping 是功能的,說明網絡沒有問題。

      image

       

      arp -a 返回中也有這樣的行:172.20.3.34           aa-bb-cc-dd-ee-21     靜態

       

      Wireshark 中抓包可以看到如下信息:

      image

       

      使用網上另一種 ARP Ping的實現,但仍然是不通。最后,直接調用系統的 ping 命令,類似于在命令行直接執行,是可以通的。

       1 # arp_remote = arpOneAddress("172.20.3.34")
       2 # os_remote = sysPingOneAddress("172.20.3.34")
       3 
       4 class arpOneAddress(threading.Thread):
       5     def __init__(self, ipStr: str):
       6         super().__init__()
       7         self.setDaemon(True)
       8         self.running = None
       9         self.ipStr = ipStr
      10         self._stop_event = threading.Event()
      11         self.start()
      12 
      13     @staticmethod
      14     def arp_ping(target_ip: str):
      15         ret = False
      16         # 構造ARP請求包
      17         arp_dst_ip_port = "%s/24" %target_ip
      18         reply_arp = srp(Ether(dst="aa:bb:cc:dd:ee:01")/ARP(pdst=arp_dst_ip_port), timeout=2)
      19 
      20         if reply_arp:
      21             replyRes = reply_arp[0]
      22             replyAns = reply_arp[1]
      23             print(f"ARP:有回應: {replyRes}  {replyAns}")
      24             if replyAns.listname == "Unanswered":
      25                 print(f"ARP:沒有從 {target_ip} 收到回應")  ### 執行此行,Ping 還是不通的
      26             else:
      27                 print(f"ARP:從 {target_ip} 收到回應")
      28         else:
      29             print(f"ARP:沒有回應:  {target_ip}")
      30 
      31 
      32         return ret
      33 
      34     def run(self):
      35         print(f"ping {self.ipStr} start...")
      36         while self._stop_event:
      37             time.sleep(6)
      38             ret_val = arpOneAddress.arp_ping(self.ipStr)
      39 
      40     def stop(self):
      41         print("ping end.")
      42         self.running = False  # 設置標志位為 False 來停止
      43         self._stop_event.set()
      44         self.join()
      45 
      46 
      47 class sysPingOneAddress(threading.Thread):
      48     def __init__(self, ipStr: str):
      49         super().__init__()
      50         self.setDaemon(True)
      51         self.running = None
      52         self.ipStr = ipStr
      53         self._stop_event = threading.Event()
      54         self.start()
      55 
      56     @staticmethod
      57     def os_ping(target_ip: str):
      58         ret = True
      59         import subprocess
      60 
      61         # 使用 subprocess.run() 執行 ping 命令
      62         print(f"call system command: ping {target_ip}")
      63         # -n 1 指定了發送 4 個 ICMP 回顯請求(在Windows中是 -n 參數,而在Linux中是 -c)
      64         result = subprocess.run(['ping', '-n', '4', target_ip], stdout=subprocess.PIPE, text=True)
      65         # 打印輸出結果
      66         print(result.stdout)
      67         if -1 != result.stdout.find("請求找不到主機") and -1 != result.stdout.find("無法訪問目標主機"):
      68             ret = False
      69         if -1 != result.stdout.find("請求超時"):
      70             ret = False
      71 
      72         return ret
      73 
      74     def run(self):
      75         print(f"ping {self.ipStr} start...")
      76         while self._stop_event:
      77             time.sleep(6)
      78             ret_val = sysPingOneAddress.os_ping(self.ipStr)
      79 
      80     def stop(self):
      81         print("ping end.")
      82         self.running = False  # 設置標志位為 False 來停止
      83         self._stop_event.set()
      84         self.join()
      posted @ 2025-10-15 16:14  91program  閱讀(12)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 18禁无遮挡啪啪无码网站| 精品国产国语对白主播野战| 激情自拍校园春色中文| 国产精品自拍中文字幕| 亚洲av免费看一区二区| 精品国产迷系列在线观看| 四虎影视一区二区精品| 欧美巨大极度另类| 99久久免费精品色老| 亚洲欧美偷国产日韩| 果冻传媒mv免费播放在线观看| 久久99日韩国产精品久久99| 永久无码天堂网小说区| 美女内射无套日韩免费播放| 66亚洲一卡2卡新区成片发布| 欧美人与动牲交a免费| 亚洲中文字幕一二区日韩| 大地资源中文在线观看西瓜| 国产一区二区高清不卡| 中文国产不卡一区二区| 精品一区二区不卡无码AV| av小次郎网站| 亚洲精品亚洲人成人网| 国产麻豆精品av在线观看| 樱花草视频www日本韩国| 开心五月激情综合久久爱| 亚洲午夜成人精品电影在线观看| 国产亚洲一区二区三区啪| 欧美乱妇狂野欧美在线视频| 日韩av综合中文字幕| 国产农村老熟女乱子综合| 欧美国产精品啪啪| 少妇爽到呻吟的视频| 久久亚洲精品成人av秋霞| 九九热视频在线免费观看| 亚洲精品日韩中文字幕| 国产精品一区二区小视频| 久久不见久久见免费视频观看| 国产一区二区不卡自拍| 欧洲亚洲国内老熟女超碰| 国产永久免费高清在线观看|