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

通讯编程

开发平台:

Visual C++

  1. BEGIN {
  2. if (dir == "")
  3. dir = ".";
  4. }
  5. {
  6. if ($1 == "-" && ($5 == "tcp" || $5 == "ack")) {
  7. split($9,a,".");
  8. saddr = a[1];
  9. sport = a[2];
  10. split($10,a,".");
  11. daddr = a[1];
  12. dport = a[2];
  13. if ($5 == "tcp" && !((saddr, sport, daddr, dport) in indexarray)) {
  14. indexarray[saddr,sport,daddr,dport] = sprintf("%d,%d-%d,%d", saddr, sport, daddr, dport);
  15. }
  16. else if ($5 == "ack" && !((daddr, dport, saddr, sport) in  indexarray)) {
  17. indexarray[daddr,dport,saddr,sport] = sprintf("%d,%d-%d,%d", daddr, dport, saddr, sport);
  18. }
  19. if ($5 == "tcp" && !((saddr, sport, daddr, dport) in seqfile)) {
  20. seqfile[saddr,sport,daddr,dport] = sprintf("%s/seq-%d,%d-%d,%d.out", dir, saddr, sport, daddr, dport);
  21. printf "TitleText: (%d,%d)->(%d,%d)n", saddr, sport, daddr, dport > seqfile[saddr,sport,daddr,dport];
  22. printf "Device: Postscriptn" > seqfile[saddr,sport,daddr,dport];
  23. }
  24. else if ($5 == "ack" && !((daddr, dport, saddr, sport) in ackfile)) {
  25. ackfile[daddr,dport,saddr,sport] = sprintf("%s/ack-%d,%d-%d,%d.out", dir, daddr, dport, saddr, sport);
  26. printf "TitleText: (%d,%d)->(%d,%d)n", daddr, dport, saddr, sport > ackfile[daddr,dport,saddr,sport];
  27. printf "Device: Postscriptn" > ackfile[daddr,dport,saddr,sport];
  28. }
  29. lsrc = $3;
  30. ldst = $4;
  31. time = $2;
  32. seqno = $11;
  33. # log both tcp and ack pkts at the source
  34. if ($5 == "tcp" && lsrc == saddr) {
  35. printf "%g %dn", time, seqno > seqfile[saddr,sport,daddr,dport];
  36. }
  37. else if ($5 == "ack" && ldst == daddr) {
  38. printf "%g %dn", time, seqno > ackfile[daddr,dport,saddr,sport];
  39. }
  40. }
  41. END {
  42. for (f in seqfile) {
  43. close(seqfile[f]);
  44. }
  45. for (f in ackfile) {
  46. close(ackfile[f]);
  47. }
  48. for (i in indexarray) {
  49. print indexarray[i] > "seq-index.out"
  50. }
  51. close("seq-index.out");
  52. }