【脚本语言系列】关于Python网络分析Scapy,你需要知道的事

时间:2022-06-17 22:58:58

如何进行网络分析

# -*- coding:utf-8 -*-
import sys
if len(sys.argv) != 2:
    print "Usage: arping2tex <net>\n eg: arping2tex 192.168.1.0/24"
    sys.exit(1)

from scapy.all import srp,Ether,ARP,conf
conf.verb=0
ans,unans=srp(Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=sys.argv[1]),
              timeout=2)

print r"\begin{tabular}{|l|l|}"
print r"\hline"
print r"MAC & IP\\"
print r"\hline"
for snd,rcv in ans:
    print rcv.sprintf(r"%Ether.src% & %ARP.psrc%\\")
print r"\hline"
print r"\end{tabular}"

什么是网络分析

通过网络分析可以分析网络协议的运行过程,排除网络运行中出现的过程。
网络应用中,可以使用抓包进行网络分析。
对于通讯报文进行直接抓取不仅知道网络连接中出现的问题,
还可以通过数据来分析通讯协议
目前最为通用的网络分析工具是Wireshark软件,其基于抓包库libcap。
scapy也是基于libcap的交互式网络分析工具。