#!/usr/bin/python
#coding=utf-8
import dpkt
import socket
def findhivemind(pcap):
for (ts, buf) in pcap:
try:
eth = dpkt.ethernet.ethernet(buf)
ip = eth.data
src = socket.inet_ntoa(ip.src)
dst = socket.inet_ntoa(ip.dst)
tcp = ip.data
dport = tcp.dport
sport = tcp.sport
# 若目標埠為6667且含有「!lazor」指令,則確定是某個成員提交乙個攻擊指令
if dport == 6667:
if '!lazor' in tcp.data.lower():
print '[!] ddos hivemind issued by: '+src
print '[+] target cmd: ' + tcp.data
# 若源埠為6667且含有「!lazor」指令,則確定是伺服器在向hive中的成員發布攻擊的訊息
if sport == 6667:
if '!lazor' in tcp.data.lower():
print '[!] ddos hivemind issued to: '+src
print '[+] target cmd: ' + tcp.data
except:
pass
f = open('hivemind.pcap')
pcap = dpkt.pcap.reader(f)
findhivemind(pcap)
如何獲取符合條件的資料
在日常編寫 的過程中,有很大一部分時間我們需要從一堆資料中找到符合條件的資料,這個過程很簡單,即便是新手也能夠完成。在乙個流程中,由於這樣的工作常常要做,讓大家覺得很煩,有時候直接就在乙個大的邏輯裡面把它給加上了,搞得 很亂。本人編寫了乙個函式,功能比較簡單,就是完成這個功能,大家可以在此函式基礎之...
TCP資料報的接收過程
1,一般網絡卡接收資料是以觸發中斷來接收的,在網絡卡driver中,接收到資料時,往kernel的api netif rx 丟 2,接著資料被送到ip層ip local deliver finish 經過剝離ip頭部,把資料往tcp層發 3,tcp層tcp v4 rcv 收到資料後,再呼叫tcp r...
TCP與UDP資料報的區別
size small b tcp與udp的區別 b color darkred 1 基於連線與無連線 2 對系統資源的要求 tcp較多,udp少 3 udp程式結構較簡單 4 流模式與資料報模式 5 tcp保證資料正確性,udp可能丟包,tcp保證資料順序,udp不保證另外結合gprs網路的情況具體...