bw.tcl
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:2k
源码类别:

通讯编程

开发平台:

Visual C++

  1. #!/usr/bin/tclsh
  2. #
  3. # Copyright (C) 2001 by USC/ISI
  4. # All rights reserved.
  5. #
  6. # Redistribution and use in source and binary forms are permitted
  7. # provided that the above copyright notice and this paragraph are
  8. # duplicated in all such forms and that any documentation, advertising
  9. # materials, and other materials related to such distribution and use
  10. # acknowledge that the software was developed by the University of
  11. # Southern California, Information Sciences Institute.  The name of the
  12. # University may not be used to endorse or promote products derived from
  13. # this software without specific prior written permission.
  14. #
  15. # THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
  16. # WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
  17. # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  18. #
  19. # An tcl script that extracts timestamp and size of each packet
  20. # from tcpdump trace, used by SAMAN ModelGen
  21. #
  22. # This work is supported by DARPA through SAMAN Project 
  23. # (http://www.isi.edu/saman/), administered by the Space and Naval 
  24. # Warfare System Center San Diego under Contract No. N66001-00-C-8066
  25. #
  26. if { $argc != 1} {
  27.    puts "usage: bw.tcl <tcpdump file in ASCII format> "
  28.    exit
  29. } else {
  30.   set arg [split $argv " " ]
  31.   set tfile [lindex $arg 0]
  32. }
  33. set fi [open $tfile r ]
  34. set fo [open $tfile.bw w ]
  35. while {[gets $fi line] >= 0} {
  36. set startTime  [lindex $line 0]
  37.         set seqno [lindex $line 5]
  38.         if { $seqno !="ack"} {
  39.          set s [split $seqno ":()"]
  40.       set size [lindex $s 2]
  41.       set size [expr $size + 40]
  42.       puts $fo "$startTime $size"
  43.     
  44.  } else {
  45.   puts $fo "$startTime 40"
  46.     }
  47. }
  48. close $fo 
  49. close $fi