|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object | +--SSF.App.DDoS.SpoofFloodTracer
version 1.0.4
SpoofFloodTracer: tracing spoofed ip packets flood with given
destination address.
| Field Summary | |
static byte |
BROKEN
|
protected CD_DDoSTracer |
cTracer
doing cross-domain DDoS tracing |
protected java.lang.String |
curNhiPrefix
the starting "domain" nhi prefix |
protected float |
curTime
the simulated time cost by now |
protected boolean |
DEBUG
debug switch |
protected java.util.LinkedList |
domainQueue
data structure used for BFS search |
static byte |
END_CHECK
|
protected float |
endTime
the end time of relevant flows. |
protected java.lang.String |
flowFilePrefix
the flow data file name prefix |
protected int |
level
the first "level" levels of nhi prefix is considered as domain ID. |
protected java.lang.String |
mapFile
the map data file name |
protected NetMap |
netMap
storing topology information |
protected long |
nFlows_t
the threashold of the absolute number of flows, default 80 |
protected long |
oldRecCount
used when computing the simulated time cost |
protected static float |
PROCESS_RECORD_COST
simulated time cost of "processing" a single record |
protected float |
ratio_t
the threashhold of the ratio, default 25% |
protected StreamInterface |
Rec
recorder used to record trace data for animation |
protected java.util.LinkedList |
recordList
|
static byte |
START_CHECK
|
protected float |
startTime
the start time of relevant flows |
static java.lang.String |
STREAM_TYPE
record type of the trace back record |
protected java.lang.String |
streamID
stream ID |
static byte |
SUSPICIOUS
|
protected int |
targetIP
the target ip of the spoofed flood |
protected java.lang.String |
traceOutputFile
file store trace data for animation |
| Constructor Summary | |
SpoofFloodTracer()
Dumb constructor that does nothing. |
|
| Method Summary | |
void |
config(com.renesys.raceway.DML.Configuration cfg)
configur the tracer with DML configuration |
int |
createMap()
Read topology data in for the future query. |
protected void |
domainTrace(SSF.App.DDoS.SpoofFloodTracer.DomainInfo dInfo)
trace back in a given domain |
protected void |
gotDomain(long localFlow,
SSF.App.DDoS.SpoofFloodTracer.DomainInfo dInfo)
operations when the local domain is suspicious |
protected void |
gotIngressPoint(SSF.App.DDoS.TraceInfo tInfo)
operations when got an suspected ingress point. |
protected boolean |
isLocalSuspicious(long localFlow,
long egressFlow)
check wether the local domain is responsible for a faire amount of flood |
static void |
main(java.lang.String[] argv)
|
protected void |
record(java.lang.String nhiPrefix,
float curTime,
byte status)
|
static java.lang.String |
recordToString(byte[] bytes,
int offset,
int length)
|
void |
reportStatus()
report the value of all the status variables |
void |
reset()
reset the variables to the status before the tracing back, but not the time |
void |
setNumFlows(long nFlows)
|
void |
setRatio(float rate)
|
void |
setStreamID(java.lang.String streamID)
|
void |
setTarget(int ip,
java.lang.String domainNhiPrefix)
|
void |
setTraceOutputFile(java.lang.String fname)
|
protected void |
summarize()
|
protected boolean |
suspiciousIngressPoint(SSF.App.DDoS.TraceInfo tInfo,
long egressFlow)
check to see whether a given ingress point is responsible for a fair amount of the flood. |
void |
traceback()
trace back to the sources of the spoofed flood |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static final byte START_CHECK
public static final byte SUSPICIOUS
public static final byte END_CHECK
public static final byte BROKEN
protected StreamInterface Rec
public static final java.lang.String STREAM_TYPE
protected java.lang.String traceOutputFile
protected static final float PROCESS_RECORD_COST
protected boolean DEBUG
protected java.lang.String streamID
protected NetMap netMap
protected CD_DDoSTracer cTracer
protected int targetIP
protected float startTime
protected float endTime
protected float ratio_t
protected long nFlows_t
protected java.lang.String curNhiPrefix
protected java.lang.String flowFilePrefix
protected java.lang.String mapFile
protected float curTime
protected int level
protected java.util.LinkedList domainQueue
protected java.util.LinkedList recordList
protected long oldRecCount
| Constructor Detail |
public SpoofFloodTracer()
| Method Detail |
public void reportStatus()
public int createMap()
public void setTraceOutputFile(java.lang.String fname)
public void setStreamID(java.lang.String streamID)
public void setTarget(int ip,
java.lang.String domainNhiPrefix)
public void setRatio(float rate)
public void setNumFlows(long nFlows)
public void config(com.renesys.raceway.DML.Configuration cfg)
throws com.renesys.raceway.DML.configException
com.renesys.raceway.DML.configExceptionpublic void reset()
public void traceback()
protected void domainTrace(SSF.App.DDoS.SpoofFloodTracer.DomainInfo dInfo)
protected boolean suspiciousIngressPoint(SSF.App.DDoS.TraceInfo tInfo,
long egressFlow)
protected void gotIngressPoint(SSF.App.DDoS.TraceInfo tInfo)
protected boolean isLocalSuspicious(long localFlow,
long egressFlow)
protected void gotDomain(long localFlow,
SSF.App.DDoS.SpoofFloodTracer.DomainInfo dInfo)
protected void summarize()
protected void record(java.lang.String nhiPrefix,
float curTime,
byte status)
public static java.lang.String recordToString(byte[] bytes,
int offset,
int length)
public static void main(java.lang.String[] argv)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||