#!/usr/bin/env python import pygeoip from scapy.all import * gi = pygeoip.GeoIP('/opt/GeoIP/GeoIP.data') def retGeoStr(ip_src): try: rec = gi.record_by_name(ip_src) city = rec['city'] country = rec['country_name'] if city !=None : print (ip_src +':'+ country +':'+ city) except Exception as e: return 'Unregistered' def anspkt(pkt): if pkt.haslayer(IP): ip_src = pkt.getlayer(IP).src retGeoStr(ip_src) def main(): sniff(iface='eth0',prn=anspkt,store=0) #sinff这里可以增加过滤条件,如filter='tcp and port 80',即是只抓取tcp 80端口的数据 if __name__ == '__main__': main()
运行结果如下:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。