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

通讯编程

开发平台:

Visual C++

  1. #!/usr/bin/perl -w
  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 perl script that seperate inbound and outbound traffic of ISI domain, 
  20. # 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. sub usage {
  27.         print STDERR <<END;
  28. usage: $0 [-p Port] 
  29. Options:
  30.     -p string  specify the port number
  31. END
  32.         exit 1;
  33. }
  34. BEGIN {
  35.         $dblibdir = "./";
  36.         push(@INC, $dblibdir);
  37. }
  38. use DbGetopt;
  39. require "dblib.pl";
  40. my(@orig_argv) = @ARGV;
  41. &usage if ($#ARGV < 0);
  42. my($prog) = &progname;
  43. my($dbopts) = new DbGetopt("p:?", @ARGV);
  44. my($ch);
  45. while ($dbopts->getopt) {
  46.         $ch = $dbopts->opt;
  47.         if ($ch eq 'p') {
  48.                 $port = $dbopts->optarg;
  49.         } else {
  50.                 &usage;
  51.         };
  52. };
  53. while (<>) {
  54.         ($time1,$time2,$ip11,$ip12,$ip13,$ip14,$srcPort,$dummy,$ip21,$ip22,$ip23,$ip24,$dstPort,$flag,$seq1,$win,$seq2,$others) = split(/[. ]/,$_);
  55. #        ($time1,$time2,$dummy0,$ip11,$ip12,$ip13,$ip14,$srcPort,$dummy,$ip21,$ip22,$ip23,$ip24,$dstPort,$flag,$seq1,$win,$seq2,$others) = split(/[. ]/,$_);
  56. #        $dummy0="";
  57.         $dummy="";
  58. $others="";
  59.         $time=join(".",$time1,$time2);
  60. $src=join(".",$ip11,$ip12,$ip13,$ip14,$srcPort);
  61. $dst=join(".",$ip21,$ip22,$ip23,$ip24,$dstPort);
  62. $client=$src;
  63. $server=$dst;
  64.         if ($srcPort eq $port) {
  65. $client=$dst;
  66. $server=$src;
  67. }
  68.         if ($flag eq "S") {
  69.    print "$client $server $time $seq1 $win $seq2n";
  70. }
  71. }