2015-09-06 35 views
0

我使用pfsend工具重播了来自瑞典国防研究机构的巨大pcap file以评估和强调Bro群集。pfsend在重放pcap文件时获得的奇怪结果

我无法得到我期望的pcap文件内的数据包发送速率的结果,即,当我要求pfsend发送接口上的pcap文件时,比如说eth2的速率为1.0 Gbps我对每组数据包都有随机速率。这里输出pfsend的快照。

TX rate: [current 42'437.52 pps/0.04 Gbps][average 42'437.52 pps/0.04 Gbps][total 41'569.00 pkts] 
TX rate: [current 30'720.88 pps/0.03 Gbps][average 36'444.27 pps/0.03 Gbps][total 73'080.00 pkts] 
TX rate: [current 86'795.22 pps/0.07 Gbps][average 53'217.22 pps/0.04 Gbps][total 160'020.00 pkts] 
TX rate: [current 85'260.77 pps/0.07 Gbps][average 61'214.71 pps/0.05 Gbps][total 245'287.00 pkts] 
TX rate: [current 108'434.54 pps/0.09 Gbps][average 70'687.72 pps/0.06 Gbps][total 354'329.00 pkts] 
TX rate: [current 260'567.83 pps/0.22 Gbps][average 104'649.36 pps/0.09 Gbps][total 638'824.00 pkts] 
TX rate: [current 13'499.74 pps/0.01 Gbps][average 90'396.03 pps/0.08 Gbps][total 654'099.00 pkts] 
TX rate: [current 383'864.46 pps/0.32 Gbps][average 126'031.97 pps/0.11 Gbps][total 1'038'003.00 pkts] 
TX rate: [current 248'141.39 pps/0.21 Gbps][average 139'426.46 pps/0.12 Gbps][total 1'289'802.00 pkts] 
TX rate: [current 416'671.83 pps/0.35 Gbps][average 166'474.76 pps/0.14 Gbps][total 1'706'508.00 pkts] 
TX rate: [current 282'022.66 pps/0.24 Gbps][average 178'789.64 pps/0.15 Gbps][total 2'051'378.00 pkts] 
TX rate: [current 294'856.96 pps/0.25 Gbps][average 189'686.22 pps/0.16 Gbps][total 2'401'896.00 pkts] 
TX rate: [current 188'430.59 pps/0.16 Gbps][average 189'560.85 pps/0.16 Gbps][total 2'666'556.00 pkts] 
TX rate: [current 283'843.09 pps/0.24 Gbps][average 196'536.24 pps/0.16 Gbps][total 2'985'563.00 pkts] 
TX rate: [current 242'010.87 pps/0.21 Gbps][average 199'394.27 pps/0.17 Gbps][total 3'232'114.00 pkts] 
TX rate: [current 375'702.87 pps/0.31 Gbps][average 211'366.10 pps/0.18 Gbps][total 3'675'768.00 pkts] 
TX rate: [current 245'153.10 pps/0.20 Gbps][average 213'258.35 pps/0.18 Gbps][total 3'928'703.00 pkts] 
TX rate: [current 238'448.39 pps/0.20 Gbps][average 214'901.65 pps/0.18 Gbps][total 4'235'268.00 pkts] 
TX rate: [current 457'495.27 pps/0.38 Gbps][average 226'618.04 pps/0.19 Gbps][total 4'692'820.00 pkts] 
TX rate: [current 244'843.82 pps/0.20 Gbps][average 227'460.43 pps/0.19 Gbps][total 4'938'522.00 pkts] 
TX rate: [current 175'544.43 pps/0.15 Gbps][average 224'765.27 pps/0.19 Gbps][total 5'147'218.00 pkts] 
TX rate: [current 352'358.47 pps/0.33 Gbps][average 230'227.67 pps/0.19 Gbps][total 5'508'118.00 pkts] 
TX rate: [current 193'981.37 pps/0.18 Gbps][average 227'879.82 pps/0.19 Gbps][total 5'829'556.00 pkts] 
TX rate: [current 397'879.00 pps/0.37 Gbps][average 234'276.34 pps/0.20 Gbps][total 6'227'511.00 pkts] 
TX rate: [current 262'636.29 pps/0.23 Gbps][average 235'524.01 pps/0.20 Gbps][total 6'548'784.00 pkts] 
TX rate: [current 324'789.05 pps/0.27 Gbps][average 238'623.07 pps/0.20 Gbps][total 6'873'588.00 pkts] 
TX rate: [current 234'831.35 pps/0.20 Gbps][average 238'479.16 pps/0.20 Gbps][total 7'140'448.00 pkts] 
TX rate: [current 465'954.10 pps/0.39 Gbps][average 245'831.24 pps/0.21 Gbps][total 7'606'424.00 pkts] 
TX rate: [current 236'658.29 pps/0.20 Gbps][average 245'544.05 pps/0.21 Gbps][total 7'843'092.00 pkts] 
TX rate: [current 224'552.54 pps/0.44 Gbps][average 244'906.73 pps/0.22 Gbps][total 8'067'678.00 pkts] 
TX rate: [current 316'888.38 pps/0.27 Gbps][average 247'027.72 pps/0.22 Gbps][total 8'384'606.00 pkts] 
TX rate: [current 194'861.11 pps/0.17 Gbps][average 245'534.68 pps/0.22 Gbps][total 8'579'479.00 pkts] 
TX rate: [current 247'182.76 pps/0.25 Gbps][average 245'586.19 pps/0.22 Gbps][total 8'858'096.00 pkts] 
TX rate: [current 300'956.59 pps/0.28 Gbps][average 247'921.20 pps/0.22 Gbps][total 9'336'025.00 pkts] 
TX rate: [current 335'746.08 pps/0.34 Gbps][average 250'723.85 pps/0.22 Gbps][total 9'752'794.00 pkts] 
TX rate: [current 335'041.19 pps/0.28 Gbps][average 252'921.26 pps/0.23 Gbps][total 10'101'529.00 pkts] 
TX rate: [current 261'693.83 pps/0.22 Gbps][average 253'208.11 pps/0.23 Gbps][total 10'454'834.00 pkts] 
TX rate: [current 191'362.36 pps/0.16 Gbps][average 251'077.25 pps/0.22 Gbps][total 10'736'781.00 pkts] 
TX rate: [current 350'642.23 pps/0.30 Gbps][average 253'483.58 pps/0.22 Gbps][total 11'108'149.00 pkts] 
TX rate: [current 208'154.30 pps/0.17 Gbps][average 252'472.20 pps/0.22 Gbps][total 11'316'316.00 pkts] 
TX rate: [current 211'121.31 pps/0.18 Gbps][average 251'568.45 pps/0.22 Gbps][total 11'527'754.00 pkts] 
TX rate: [current 31'135.38 pps/0.03 Gbps][average 245'780.23 pps/0.22 Gbps][total 11'566'228.00 pkts] 
TX rate: [current 137'098.79 pps/0.16 Gbps][average 243'442.00 pps/0.22 Gbps][total 11'708'087.00 pkts] 
TX rate: [current 102'561.54 pps/0.09 Gbps][average 240'565.19 pps/0.21 Gbps][total 11'810'911.00 pkts] 
TX rate: [current 114'894.56 pps/0.10 Gbps][average 238'056.49 pps/0.21 Gbps][total 11'925'812.00 pkts] 
TX rate: [current 532'935.78 pps/0.45 Gbps][average 243'843.43 pps/0.22 Gbps][total 12'460'248.00 pkts] 
TX rate: [current 89'972.12 pps/0.08 Gbps][average 239'563.56 pps/0.21 Gbps][total 12'591'785.00 pkts] 
TX rate: [current 84'611.41 pps/0.09 Gbps][average 236'670.39 pps/0.21 Gbps][total 12'676'402.00 pkts] 

正如你所看到的TX速率并不处于每一步pfsend同样以所需的速度不发送数据包。我试图读取pfsend的源代码并了解pfsend的行为,但我没有得到它。

我可以理解,数据包的大小是不一样的,可能是原因,但我不知道这是唯一的原因。任何人都可以引导我并给我见解?我会感激。 谢谢。

回答

1

你的大部分跟踪(我只是下载了一段)由TCP流量组成。

tcpreplay可能最适合您的需求。

但被警告这将是“假TCP”。有没办法你可以指定真实的出口速率TCP连接。

除了两侧的硬件,两者之间的网络状况以及它们各自实现的TCP协议(在操作系统级)之外。请记住,TCP是一种连接的协议,因此:

  • 发件人将期望从接收确认发送有时再也数据之前,
  • 会有TCP慢启动,看http://en.wikipedia.org/wiki/Slow-start
  • ...可能还有很多其他原因,这两个只是从我的脑海中跳出来。

这是通过仔细管理接收/发送窗口和定时器在两侧(同样,这是由操作系统完成的)TCP实现完成的。例如,如果发送者发送得太快并且接收者的应用程序不能跟上,接收者窗口(大致上说,可用于新数据的缓冲区的大小)将开始缩小并且最终将变为0 。然后你将有一个“零TCP窗口”的条件,发件人将停止发送任何东西,直到有一个TCP窗口更新。

TCP协议是为此设计的。每一方都会调整到另一方+两者之间的网络状态。

事实上,如果你看看pfsend源代码,你会看到一些东西为:

...IP(需要UDP):

http://github.com/ntop/PF_RING/blob/dev/userland/examples/pfsend.c#L53

... UDP:

http://github.com/ntop/PF_RING/blob/dev/userland/examples/pfsend.c#L75

http://github.com/ntop/PF_RING/blob/dev/userland/examples/pfsend.c#L282

...但没有什么对TCP,只是因为它不能真正完成。 pfsend最小的'帮助'应该明确说明。

+0

谢谢jbm为您的答案和提供的链接!我同意你的看法,可能还有很多理由需要考虑。我试图画出pfsend重播pcap的速度,我发现它不是unifrom,即每秒都有一个不同的值。 – user2567806