티스토리 뷰

728x90

[이번에는 특정 사용자가 wifi이용 시 python으로 해당 사실을 알리는 코드를 작성해보겠습니다.]


1. scapy를 사용하기 위한 scapy install 

 -> pip install --pre scapy[basic]

 

2. 코드 작성

import scapy.layers.l2

net = '000.000.00.0/24'   #이 부분엔 사용하는 공유기의 게이트웨이를 입력해주세요 

ans, noans = scapy.layers.l2.arping(net, timeout=1, verbose=True)

1. scapy.layers.l2  (소문자 l입니다!) 

2. net에는 여러분이 사용하시는 공유기의 기본 게이트웨이를 가져와서 붙이시면 됩니다.  확인방법 window검색창에 cmd검색 -> ipconfig입력 -> 무선 LAN어답터 WiFi칸의 아래 '기본 게이트웨이'의 마지막 0.0.0.0으로 돼있는 숫자를 가져와 입력하시면 됩니다.        뒤에 /24를 붙여주세요! (ip 주소의 범위가 0 ~ 255인 것을 알려주기 위함입니다.)

3. 해당 함수는 연결된 기기들에 패킷을 보내고 받아주는 역할을 합니다. verbose는 로그를 출력해줄지를 결정합니다.


+Extra 현재 공유기 사용자 수 불러오기

import scapy.layers.l2

net = '000.000.00.0/24'   #이 부분엔 사용하는 공유기의 게이트웨이를 입력해주세요

while True:
    
    UserMacList = []
    ans, noans = scapy.layers.l2.arping(net, timeout=1, verbose=False)

    for sent, received in ans.res:
        #print(received.hwsrc)
        if received.hwsrc in UserMacList:
            pass
        else:
            UserMacList.append(received.hwsrc)
    print(UserMacList)

1,2,3은 윗 코드와 같습니다. 반복을 추가한 것일 뿐입니다!

+ 받은 응답중 Mac주소를 리스트에 추가하고 출력합니다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함