⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 util.tcl

📁 跑leach需要的
💻 TCL
字号:
proc Pre { tfile } {     global timezero     set f [open "|tcpdump -n -r $tfile src port 80 and tcp" r]    set line [gets $f]    catch "close $f"    set aslist [split $line " "]    set timezero [tcpdtimetosecs [lindex $aslist 0]]}proc max {arg1 arg2}  {    if { $arg1 > $arg2 } { return $arg1 }    return $arg2 }proc min {arg1 arg2}  {    if { $arg1 > $arg2 } { return $arg2 }    return $arg1 }proc tcpdtimetosecs tcpdtime  {    global timezero     # convert time to seconds    set t [split $tcpdtime ":."]    regsub {^0*([0-9])} [lindex $t 0] {\1} hours    regsub {^0*([0-9])} [lindex $t 1] {\1} minutes    regsub {^0*([0-9])} [lindex $t 2] {\1} seconds    set micsec [lindex $t 3]    append mtim "0." $micsec    set tim [expr 1.0*$hours*3600 + 1.0*$minutes*60 + 1.0*$seconds ]    set tim [expr $tim + 1.0*$mtim]    ##  check for time wrap    ##    if { $tim < $timezero } { set tim [expr $tim + 86400.0] }    return [expr $tim - $timezero]}proc outputPDF {cur_epoch incr tfile }  {set count 0set cur_time  0set tfileI [format "%s.sorted" $tfile]set tfileO [format "%s.pdf" $tfile]set fi [open $tfileI r ]set fo [open $tfileO w ]while {[gets $fi line] >= 0} {set cur_time [lindex $line 0]if {$cur_time > $cur_epoch} {   while {$cur_epoch < $cur_time} {     puts $fo "$cur_epoch   $count"     set cur_epoch [expr $cur_epoch + $incr]     set count 0   }   if {$cur_time <= $cur_epoch} {      set count 1   } else {      set count 0   }} else {   set count [expr $count + 1]}}puts $fo "$cur_epoch   $count"close $fo}proc outputCDF {tfile}  {set tfileI [format "%s.pdf" $tfile]set tfileO [format "%s.cdf" $tfile]set fi [open $tfileI r ]set fo [open $tfileO w ]set totalCnt 0set cumCnt 0while {[gets $fi line] >= 0} {   set cnt [lindex $line 1]   set totalCnt [expr $totalCnt + $cnt]}close $fiset fi [open $tfileI r ]while {[gets $fi line] >= 0} {   set value [lindex $line 0]   set cnt [lindex $line 1]   set cumCnt [expr $cumCnt + $cnt]   puts $fo "$value $cumCnt [expr ($cumCnt * 1.0) / ($totalCnt * 1.0)]"}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -