"python":arp 스 크 립 트 의 두 가지 방법
4730 단어 python
첫 번 째 는 arping 도 구 를 사용 하 는 것 입 니 다.
#!/usr/bin/env python
import subprocess
import sys
import re
def arping(ipaddress = "192.168.1.1"):
p = subprocess.Popen("/usr/sbin/arping -c 2 %s" % ipaddress, shell = True,
stdout = subprocess.PIPE)
out = p.stdout.read()
result = out.split()
for item in result:
if ":" in item:
print item
if __name__ == "__main__":
if len(sys.argv) > 1:
for ip in sys.argv[1:]:
print "arping", ip
arping(ip)
else:
arping()
이런 방법 은 특정한 플랫폼 의 도구 에 의존 하 는데 전체적으로 시스템 호출 을 사용 한 것 이다.
두 번 째 는 scapy 를 사용 하 는데 이런 방법 은 플랫폼 의 무관 화 를 실현 할 수 있다.
#!/usr/bin/env python
from scapy import srp,Ether,ARP,conf
import sys
def arping(iprange="192.168.1.1/24"):
conf.verb = 0
ans,unans = srp(Enter(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=iprange),
timeout=2)
collection = []
for snd, rcv in ans:
result = rcv.sprintf(r"%ARP.psrc% %Ether.src%").split()
collection.append(result)
return collection
if __name__ == "__main__":
if len(sys.argv) > 1:
for ip in sys.argv[1:]:
print "arping", ip
print arping(ip)
else:
print arping()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.