#!/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...