一 dpkt
#!C:\Python37
# -*- coding:utf-8 -*-
import dpkt
import socket
from scapy.all import *
import geoip2.database
import optparse
def PrintPcap_dpkt(filename):
iplist = []
try:
filepcap = open(filename,'rb')
pcap = dpkt.pcap.Reader(filepcap)
for (ts,buf) in pcap:
eth = dpkt.ethernet.Ethernet(buf)
ip = eth.data
src = socket.inet_ntoa(ip.src)
dst = socket.inet_ntoa(ip.dst)
if not str(src) in iplist:
iplist.append(str(src))
if not str(dst) in iplist:
iplist.append(str(dst))
print(f'[+]Src:{src}--->Dst:{dst}')
filepcap.close()
print(iplist)
return iplist
except Exception as e:
print(e)
pass
return
def PrintPcap_scapy(filename):
iplist = []
try:
pcap = rdpcap(filename)
for rd in pcap:
#print(rd.show())
if rd['IP'].payload:
python绝技中对wireshark数据包分析dpkt、scapy以及geoip2的使用方法。案例获取wireshark数据包中的ip地址,并查询ip地址归属城市。
最新推荐文章于 2025-11-14 17:38:36 发布
本文介绍了一种使用Python解析PCAP文件并提取IP地址的方法,同时利用GeoIP数据库进行地理定位,展示如何获取源和目标IP地址及其对应的地理位置。

最低0.47元/天 解锁文章
1811

被折叠的 条评论
为什么被折叠?



