python arp指令碼的兩種方法

2021-09-07 01:19:51 字數 1535 閱讀 7956

第一種是使用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":"

initem:

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()

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()

scapy編寫簡單的arp掃瞄指令碼 本課程基於 python 的 scapy 模組編寫,適合有 python 基礎的同學學習,最終完成乙個簡單的 arp 掃瞄指令碼。

Redhat nis client兩種接入方式

redhat nis client兩種接入方式 在redhat上nis client有兩種方式接入nis伺服器 etc nsswitch.conf和system config authentication 通過 etc nsswitch.conf的方式使用者只能通過yppasswd進行修改密碼且無法...

python threading 兩種建立方式

作用 建立在thread模組之上,可以更容易地管理多個執行執行緒。通過使用執行緒,程式可以在同乙個程序空間併發地執行多個操作。threading模組建立在thread的底層特性基礎上,可以更容易地完成執行緒處理。1 呼叫函式 要使用thread,最簡單的方法就是用乙個目標函式例項化乙個thread物...

兩種獲取Oracle Sequence的方法

前提 create table booking id integer not null,date made date,reserved until timestamp,price decimal 15,2 not null,purchase id integer,primary key id cre...