zoukankan      html  css  js  c++  java
  • 快速实现python抓包嗅探

    1. 使用scapy ,但是这个在macos上安装比较麻烦,没有多试

    2. 使用pypcap, 这个相对上手容易

     1 #coding:utf8
     2 __author__ = 'yeyong'
     3 import dpkt
     4 import pcap
     5 
     6 sniffer = pcap.pcap(name="en0")   #name parameter => interface name
     7 sniffer.setfilter("tcp")                         #filter sentence
     8 cur_timestamp = 0
     9 c=0
    10 caplen = 0
    11 for packet_time,packet_data in sniffer:
    12     packet_time = int(packet_time)
    13     if cur_timestamp == packet_time:
    14         c +=1
    15         caplen += len(packet_data)
    16     else:
    17         print cur_timestamp, c, caplen
    18         cur_timestamp = packet_time
    19         c=0
    20         caplen = 0
    # packet = dpkt.ethernet.Ethernet(packet_data)#二层数据报文嘛
    # print "SRC IP:%d.%d.%d.%d"%tuple(map(ord,list(packet.data.src)))
    # print "DST IP:%d.%d.%d.%d"%tuple(map(ord,list(packet.data.dst)))
    # print "SRC PORT:%s"%packet.data.data.sport
    # print "DST PORT:%s"%packet.data.data.dport

    需要确认一下性能,因为实际场景上一秒可能有10MB的流量,不知道这个能否撑住

    另外还需要解包拿到sip, dport等

    3. packetbeat应该已经实现了并且性能不错,但是我只需要很简单的一部分功能,需要剥离相关代码,需要花费时间,如果2不太好办,可以试试

    4. https://www.2cto.com/kf/201204/125809.html https://www.cnblogs.com/qiyeboy/p/9033707.html等也有方案,但是需要确认linux下如何监听指定的端口

  • 相关阅读:
    html之colspan && rowspan讲解
    html之cellspacing && cellpadding讲解
    JavaScript之setcookie()讲解
    Tomcat漏洞说明与安全加固
    ActionScript基本语法讲解
    2014年03月09日攻击百度贴吧的XSS蠕虫源码
    Samy XSS Worm之源码讲解
    新浪微博之XSS蠕虫脚本源码讲解
    JavaScript之match()方法讲解
    JavaScript之substring()方法讲解
  • 原文地址:https://www.cnblogs.com/yeyong/p/10897125.html
Copyright © 2011-2022 走看看