用Scapy找出fast flux流量

2021-08-14 17:31:51 字數 865 閱讀 6166

#!/usr/bin/python

#coding=utf-8

from scapy.all import *

dnsrecords = {}

'''解析pcap檔案中所有含dnsrr的資料報,提取分別含有查詢的網域名稱和對應的ip的rrname和rdata變數,然後建立乙個索引字典並對字典中未出現的ip新增到陣列中。

'''def handlepkt(pkt):

# 判斷是否含有dnsrr

if pkt.haslayer(dnsrr):

rrname = pkt.getlayer(dnsrr).rrname

rdata = pkt.getlayer(dnsrr).rdata

#記錄是否存在

if dnsrecords.has_key(rrname):

if rdata not in dnsrecords[rrname]:

else:

dnsrecords[rrname] =

def main():

pkts = rdpcap('fastflux.pcap')

for pkt in pkts:

handlepkt(pkt)

for item in dnsrecords:

print "[+] " + item + " has " + str(len(dnsrecords[item])) + " unique ips."

# for i in dnsrecords[item]:

# print "[*] " + i

# print

if __name__ == '__main__':

main()

用Scapy解析TTL欄位的值

usr bin python coding utf 8 from scapy.all import import time import optparse 為避免ipy庫中的ip類與scapy庫中的ip類衝突,重新命名為iptest類 from ipy import ip as iptest ttl...

用SQL找出前N名

業務系統中常常會有排名的需求,考試和比賽中則更普遍了。excel 中也有個 rank 函式供排名之用,資料庫中更不例外了。如果須要找出工資最高的前三個員工工資 及其員工號 只是。前三名 的詳細含義須要準確的定義。不然查出來的可能不是想要的結果。首先。由於表中記錄數可能就少於三,查出來的記錄可能等於三...

用gdb除錯找出nginx崩潰的原因

按照流程一路排查下去,發現nginx訪問日誌裡面有大量的http 504 err code tail f var log messages 同時出現大量的類似錯誤資訊 nginx 1234 segfault at 0000000000000008 rip 000000000043edf8 rsp 0...