arp指令碼的兩種方法

2021-06-21 13:05:42 字數 1246 閱讀 5697

第一種是使用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()

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

python arp指令碼的兩種方法

第一種是使用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 ipa...

執行 Shell 指令碼有兩種方法

1 作為可執行程式 將上面的 儲存為 test.sh,並 cd 到相應目錄 chmod x test.sh 使指令碼具有執行許可權.test.sh 執行指令碼 注意,一定要寫成 test.sh,而不是test.sh,執行其它二進位制的程式也一樣,直接寫 test.sh,linux 系統會去 path...

python呼叫shell指令碼的兩種方法

1.python呼叫shell指令碼,有兩種方法 os.system 和os.popen 前者返回值是指令碼的退出狀態碼,後者的返回值是指令碼執行過程中的輸出內容。help os.system help on built in function system in module posix syst...