<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          為了監(jiān)控老板,我用Python做了個摸魚神器

          共 4989字,需瀏覽 10分鐘

           ·

          2021-07-09 21:29


          大家好,歡迎來到 Crossin的編程教室 !

          作為打工人來說,特別是996、007的工作,除了干飯之外,最緊張刺激的莫過于上班的時候偶爾偷偷閑,去池塘里面摸摸魚

          一般人摸的哪些魚呢?聊天、微博、微信朋友圈、小游戲、小說、股票基金等等。

          摸魚的最大阻礙是什么?當(dāng)然是包工頭(老板)了,他們恨不得打工人24小時不間斷地干活。

          但是人的精力是有限的,一天只能集中精力干那么幾個小時,其他時間需要通過摸魚來調(diào)劑有限,所以我們只要摸魚不被包工頭發(fā)現(xiàn),那是相當(dāng)愉快的一件事情。

          為此,我用 Python 寫了一個小工具——“BOSS 來了”,用來監(jiān)控老板,減少摸魚被發(fā)現(xiàn)的概率

          思路

          我們知道,每臺電腦或者手機等終端都有一個固定的 Mac 地址,而我們公司辦公區(qū)域有幾個 AP ,大家手機連接的都是距離自己最近的 AP ,所以理論上如果我知道老板手機的 Mac 地址,然后掃描局域網(wǎng)的所有 Mac 地址,如果出現(xiàn)老板手機的 Mac 地址,那么老板大概率是在我附近的,此時摸魚比較危險;如果沒有出現(xiàn)老板額 Mac 地址,那么老板可能離我比較遠(yuǎn),此時摸魚比較安全。

          基于上面思路,我要做的就是搞到老板手機的 Mac 地址,然后不斷輪詢局域網(wǎng)的所有 Mac 地址,一旦發(fā)現(xiàn)出現(xiàn)老板手機的 Mac 地址,我就老老實實干活,一旦老板的 Mac 地址消失了,就可以摸魚了。

          實現(xiàn)

          獲取老板手機Mac地址

          怎么搞到老板的手機 Mac 地址?

          好多人聽到這個可能就感覺沒戲了!總不能把老板的手機偷過來,然后去設(shè)置里面找吧。

          天無絕人之路,只要肯動腦,辦法可不少!

          我的方法是這樣的。當(dāng)其他同事沒有走動的時候,老板來的時候,保存一次局域網(wǎng)的 Mac 地址信息,當(dāng)老板走的時候再保存一次,然后比對,找出老板手機的 Mac 地址。為了確保準(zhǔn)確性,可以多試幾次。

          獲取所有Mac地址

          第一步,使用 ipconfig/all 命令,可以找到當(dāng)前所處的網(wǎng)段:

          IP網(wǎng)段

          第二步,使用輪詢命令逐個 ping 網(wǎng)段內(nèi)的 IP ,這一步是為了建立 ARP 表。命令如下:

          for /L %i IN (1,1,254) DO ping -w 1 -n 1 192.168.1.%i

          其中,192.168.1.%i 是要查詢的網(wǎng)段。

          第三步,使用 arp 命令可以查詢所有的Mac地址,命令為:

          arp -a

          運行之后,你會看到類似下面的結(jié)果:

          mac地址列表

          代碼實現(xiàn)

          思路已經(jīng)得到驗證,準(zhǔn)備工作也做好了,接下來就是代碼實現(xiàn)了。

          首先,我們根據(jù)上面的思路,先寫一個獲取局域網(wǎng)所有的 Mac 地址的方法。


          def get_macs():
              # 運行cmd控制窗口,輸入“arp -a”,并將內(nèi)容傳遞到res中
              res = os.popen("arp -a")
              # 讀取res數(shù)據(jù),轉(zhuǎn)換為可讀數(shù)據(jù)
              arps = res.read()
              print(arps)

              # 將獲得的counts中的數(shù)據(jù)根據(jù)“換行符”來進(jìn)行分割切片
              result = arps.split('\n')

              # 設(shè)一個空列表裝ip
              ips = []
              # 設(shè)一個空列表裝mac
              macs = []

              # 遍歷
              for i in range(1, len(result)):
                  # 獲得列表中第idx個數(shù)據(jù)
                  line = result[i]
                  if ('Internet' in line) | ('' == line) | ('接口' in line):
                      continue
                  # 根據(jù)“ ”進(jìn)行切片
                  line_split = line.split(" ")
                  index = 0
                  for l in line_split:
                      if l != '':
                          index += 1
                          if index == 1:
                              ips.append(l)
                          elif index == 2:
                              macs.append(l)

              return ips, macs

          然后,寫一個定時輪詢。


          # 老板的Mac地址
          bossMac = "01-00-5e-0b-14-01"
          sleep_time = 5
          while 1 == 1:
              time.sleep(sleep_time)
              ips, macs = get_macs()
              is_come = 0
              for mac in macs:
                  if mac == bossMac:
                      is_come = 2
                      # 如果boss來了,就隔5分鐘掃描一次
                      sleep_time = 300
                      # 提示報警
                      choice = g.msgbox(msg="有內(nèi)鬼,終止交易!", title="OMG")
                      break
              if is_come == 0:
                  # 如果boss走了,就隔5秒鐘掃描一次
                  sleep_time = 5
                  g.msgbox(msg="一切正常!", title="OMG")

          我這里設(shè)定的是:如果老板出現(xiàn)了,就每隔 5 分鐘輪詢一次,因為老板在的話,要集中精力干活,不能太過頻繁地想著摸魚。如果老板走了,就每隔5秒鐘輪詢一次,摸魚的時候還是要頻繁預(yù)警比較好!

          運行程序,當(dāng)老板來時,預(yù)警彈窗是這樣子的:

          有內(nèi)鬼

          當(dāng)老板消失后,彈窗內(nèi)容是這樣的:

          老板走了

          總結(jié)

          當(dāng)然,如果老板沒有開 WiFi ,那么這個方法就失效了。或者老板過來了,但是 手機反應(yīng)慢了,沒有切換到這邊的 AP ,那也會存在危險。所以不要完全依賴這個小工具,摸魚的時候還是要偶爾觀察一下周圍環(huán)境。

          最后,還是得提醒一下大家:小摸怡情,大摸傷身!

          獲取本文相關(guān)代碼、數(shù)據(jù)及演示地址,請點擊下方公眾號名片,回復(fù)關(guān)鍵字

          摸魚

          據(jù)說,摸魚的小伙伴都會去點在看
          作者:閑歡
          來源:Python 技術(shù)


          _往期文章推薦_

          把14億中國人民都拉到一個微信群里




          如需了解付費精品課程教學(xué)答疑服務(wù)
          請在Crossin的編程教室內(nèi)回復(fù): 666

          瀏覽 51
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  思思热在线视频免费观看 | 亚洲男人色天堂 | 国模美心| 一道本无码专区 | 亚欧美在线视频中文字幕 |