際際滷

際際滷Share a Scribd company logo
Tcpreplay のススメ 
゛古勣。 
2014/09/22 
#pakeana 21 
@twovs
agenda 
? 徭失B初 
? Tcpreplay のB初 
?? ppiinngg fflloooodd してみた
about me 
? @twovs (masato.otsuka) 
? ネコ2繁安さん1繁辛曚つ 
?? oLLAANN廾崔の_k((11999999゛゛22000044)) 
? オンラインゲ`ムのシステム砿尖宀(2004゛) 
? ただしゲ`ムには畠くd龍oし 
? ZFS 恷互!!! beadm 宴旋!!!
Tcpreplay(1) 
? Tcpreplay は 
? pcap ファイルを壅僕佚(replay) 
?? ppccaapp ファイルをシ((rreewwrriittee)) 
? TCP の褒圭鰺佚も辛嬬!!!
Tcpreplay(2) 
? Tcpreplay は 
? オ`プンソ`スGPLv3 
?? UUNNIIXX 狼OOSS で嘛
? Windows はCygwin 貧で嘛
Tcpreplay(3) 
? Tcpreplay は 
? IDS/IPS/FireWall/Router/Switch など 
ネットワ`クC匂の_kで聞われている
? netmap 鬉10GbE ワイヤ`レ`ト 
http://info.iet.unipi.it/~luigi/netmap/
Tcpreplay(4) 
? Tcpreplay (T が寄猟忖)はツ`ル蛤のt各 
? ツ`ルコマンド 
11.. ttccpprreeppllaayy 
2. tcpreplay-edit 
3. tcpliveplay 
4. tcpprep 
5. tcprewrite 
6. tcpcapinfo 
7. tcpbridge
1.tcpreplay 
? pcap ファイルを壅僕佚(replay) 
? 販吭のスピ`ドで壅僕佚 
?? MMbbppss//ppppss 峺協
? 圷のpcap ファイルのn蔚堀 
? 恷寄パケットg侯峺協 
? 恷寄堀!!!
1.tcpreplay 
# tcpreplay -i eth0 --mbps=510.5 smallFlows.pcap 
Actual: 14261 packets (9216531 bytes) sent in 0.144495 seconds. 
Rated: 63784428.5 Bps, 510.27 Mbps, 98695.45 pps 
Flows: 1209 flows, 8367.07 fps, 14243 flow packets, 18 non-flow 
Statistics for network device: eth0 
Attempted packets: 14261 
Successful packets: 14261 
Failed packets: 0 
Truncated packets: 0 
Retried packets (ENOBUFS): 0 
Retried packets (EAGAIN): 0 
http://tcpreplay.appneta.com/wiki/tcpreplay.html からi
1.tcpreplay 
# tcpreplay -i eth0 -tK -l1000 --netmap smallFlows.pcap 
Switching network driver for eth0 to netmap bypass mode... done! 
File Cache is enabled 
Actual: 14261000 packets (9216531000 bytes) sent in 7.07 seconds. 
Rated: 1193506409.4 Bps, 9548.05 Mbps, 1846746.34 pps 
Flows: 1209 flows, 156.56 fps, 14243000 flow packets, 1188000000 nnoonn--ffllooww 
Statistics for network device: eth0 
Attempted packets: 14261000 
Successful packets: 14261000 
Failed packets: 0 
Truncated packets: 0 
Retried packets (ENOBUFS): 0 
Retried packets (EAGAIN): 0 
Switching network driver for eth0 to normal mode... done! 
http://tcpreplay.appneta.com/wiki/tcpreplay.html からi
2.tcpreplay-edit 
? pcap ファイルをきQえながら壅僕佚(replay) 
? tcprewrite (瘁峰)しながらtcpreplay 
? tcprewrite でpcap ファイルを伏撹し 
tcpreplay した圭が互堀に壅僕佚
3.tcpliveplay 
? pcap ファイルを圷にTCP 褒圭鰺佚を壅F 
? TCP のSEQ/ACK をきQえながら褒圭鰺佚 
? F壓はLinux だけ(その麿h廠も除?)
4.tcpprep 
? (}jなI尖喘聞わなくても弼?できる) 
? tcpreplay やtcprewrite のI尖のための 
並念I尖((pprree--pprroocceessssoorr)) 
? client/server のQ協や 
聞喘するNIC などの協xファイルを恬撹
5.tcprewrite 
? pcap ファイルをiみzみ 
光Nヘッダ(など)を弖紗?茅?筝し 
pcap ファイルにき竃す 
? DLT(DataLinkType)Q 
? IEEE802.3 <-> IEEE802.11 
? Ethernet <-> Loopback 
? などなど
5.tcprewrite 
? Src/Dst MAC Address 
? IEEE802.1q (VLAN Tag) 
? Src/Dst IP Address 
? IPv4 Headers(TTOOSS//DDiiffffSSeerrvv//EECCNN)) 
? IPv6 Headers(Traffic Class/Flow Label) 
? TCP/UDP PortNum 
? IP/TCP/UDP Checksums の原嚥 
? MTU 峺協でtruncate
6.tcpcapinfo 
? pcap ファイルの光N秤鵑魃輅 
? pcap ファイルをiみきするアプリケ`ション 
を恬る_k宀鬚韻離挑`ル
? tcprewrite のbug を岷すrに恬られた
7.tcpbridge 
? 2つのネットワ`クをブリッジ 
? パケットをきQえながらブリッジ 
?? ttccpprreewwrriittee と揖じきQえC嬬を隔つ
ping flood(1) 
? Raspberry Pi 
? MODEL B (not B+) 
? CPU 700[MHz] 
?? MMeemmoorryy 551122[[MMiiBB]] 
? NIC 100[Mbps] 
? Raspbian GNU/Linux 7 
? kernel 3.12.22+
ping flood(2) 
 覆ping コマンド(iputils-sss20101006) 
$ sudo ping -f -s 1472 192.168.0.1 
 hping3 version 3.0.0-alpha-2 
$ sudo hping3 --flood -1 -d 1472 192.168.0.1 
 tcpreplay version: 3.4.3 (build 2375) 
$ sudo tcpreplay --topspeed -K -i eth0 -l 0 sample.pcap
ping flood(3) 
[pps] [Mbps]
ping flood(4) 
$ uname -a 
Linux raspi 3.12.22+ #691 PREEMPT Wed Jun 18 18:29:58 BST 2014 
armv6l GNU/Linux 
$ sudo tcpreplay --topspeed -K -i eth0 -l 10000 ping-1472.pcap 
Actual: 10000 packets (15140000 bytes) sent in 1.64 seconds 
Rated: 9231707.0 bps, 70.43 Mbps, 6097.56 pps 
Statistics for network device: eth0 
Attempted packets: 10000 
Successful packets: 10000 
Failed packets: 0 
Retried packets (ENOBUFS): 0 
Retried packets (EAGAIN): 0
memo 
? http://tcpreplay.appneta.com/ 
? https://github.com/appneta/tcpreplay 
? 4.0.5 が恷仟(2014/09/22 r泣) 
? http://tcpreplay.synfin.net/ は3.x の秤
END

More Related Content

about Tcpreplay

  • 1. Tcpreplay のススメ ゛古勣。 2014/09/22 #pakeana 21 @twovs
  • 2. agenda ? 徭失B初 ? Tcpreplay のB初 ?? ppiinngg fflloooodd してみた
  • 3. about me ? @twovs (masato.otsuka) ? ネコ2繁安さん1繁辛曚つ ?? oLLAANN廾崔の_k((11999999゛゛22000044)) ? オンラインゲ`ムのシステム砿尖宀(2004゛) ? ただしゲ`ムには畠くd龍oし ? ZFS 恷互!!! beadm 宴旋!!!
  • 4. Tcpreplay(1) ? Tcpreplay は ? pcap ファイルを壅僕佚(replay) ?? ppccaapp ファイルをシ((rreewwrriittee)) ? TCP の褒圭鰺佚も辛嬬!!!
  • 5. Tcpreplay(2) ? Tcpreplay は ? オ`プンソ`スGPLv3 ?? UUNNIIXX 狼OOSS で嘛 ? Windows はCygwin 貧で嘛
  • 6. Tcpreplay(3) ? Tcpreplay は ? IDS/IPS/FireWall/Router/Switch など ネットワ`クC匂の_kで聞われている ? netmap 鬉10GbE ワイヤ`レ`ト http://info.iet.unipi.it/~luigi/netmap/
  • 7. Tcpreplay(4) ? Tcpreplay (T が寄猟忖)はツ`ル蛤のt各 ? ツ`ルコマンド 11.. ttccpprreeppllaayy 2. tcpreplay-edit 3. tcpliveplay 4. tcpprep 5. tcprewrite 6. tcpcapinfo 7. tcpbridge
  • 8. 1.tcpreplay ? pcap ファイルを壅僕佚(replay) ? 販吭のスピ`ドで壅僕佚 ?? MMbbppss//ppppss 峺協 ? 圷のpcap ファイルのn蔚堀 ? 恷寄パケットg侯峺協 ? 恷寄堀!!!
  • 9. 1.tcpreplay # tcpreplay -i eth0 --mbps=510.5 smallFlows.pcap Actual: 14261 packets (9216531 bytes) sent in 0.144495 seconds. Rated: 63784428.5 Bps, 510.27 Mbps, 98695.45 pps Flows: 1209 flows, 8367.07 fps, 14243 flow packets, 18 non-flow Statistics for network device: eth0 Attempted packets: 14261 Successful packets: 14261 Failed packets: 0 Truncated packets: 0 Retried packets (ENOBUFS): 0 Retried packets (EAGAIN): 0 http://tcpreplay.appneta.com/wiki/tcpreplay.html からi
  • 10. 1.tcpreplay # tcpreplay -i eth0 -tK -l1000 --netmap smallFlows.pcap Switching network driver for eth0 to netmap bypass mode... done! File Cache is enabled Actual: 14261000 packets (9216531000 bytes) sent in 7.07 seconds. Rated: 1193506409.4 Bps, 9548.05 Mbps, 1846746.34 pps Flows: 1209 flows, 156.56 fps, 14243000 flow packets, 1188000000 nnoonn--ffllooww Statistics for network device: eth0 Attempted packets: 14261000 Successful packets: 14261000 Failed packets: 0 Truncated packets: 0 Retried packets (ENOBUFS): 0 Retried packets (EAGAIN): 0 Switching network driver for eth0 to normal mode... done! http://tcpreplay.appneta.com/wiki/tcpreplay.html からi
  • 11. 2.tcpreplay-edit ? pcap ファイルをきQえながら壅僕佚(replay) ? tcprewrite (瘁峰)しながらtcpreplay ? tcprewrite でpcap ファイルを伏撹し tcpreplay した圭が互堀に壅僕佚
  • 12. 3.tcpliveplay ? pcap ファイルを圷にTCP 褒圭鰺佚を壅F ? TCP のSEQ/ACK をきQえながら褒圭鰺佚 ? F壓はLinux だけ(その麿h廠も除?)
  • 13. 4.tcpprep ? (}jなI尖喘聞わなくても弼?できる) ? tcpreplay やtcprewrite のI尖のための 並念I尖((pprree--pprroocceessssoorr)) ? client/server のQ協や 聞喘するNIC などの協xファイルを恬撹
  • 14. 5.tcprewrite ? pcap ファイルをiみzみ 光Nヘッダ(など)を弖紗?茅?筝し pcap ファイルにき竃す ? DLT(DataLinkType)Q ? IEEE802.3 <-> IEEE802.11 ? Ethernet <-> Loopback ? などなど
  • 15. 5.tcprewrite ? Src/Dst MAC Address ? IEEE802.1q (VLAN Tag) ? Src/Dst IP Address ? IPv4 Headers(TTOOSS//DDiiffffSSeerrvv//EECCNN)) ? IPv6 Headers(Traffic Class/Flow Label) ? TCP/UDP PortNum ? IP/TCP/UDP Checksums の原嚥 ? MTU 峺協でtruncate
  • 16. 6.tcpcapinfo ? pcap ファイルの光N秤鵑魃輅 ? pcap ファイルをiみきするアプリケ`ション を恬る_k宀鬚韻離挑`ル ? tcprewrite のbug を岷すrに恬られた
  • 17. 7.tcpbridge ? 2つのネットワ`クをブリッジ ? パケットをきQえながらブリッジ ?? ttccpprreewwrriittee と揖じきQえC嬬を隔つ
  • 18. ping flood(1) ? Raspberry Pi ? MODEL B (not B+) ? CPU 700[MHz] ?? MMeemmoorryy 551122[[MMiiBB]] ? NIC 100[Mbps] ? Raspbian GNU/Linux 7 ? kernel 3.12.22+
  • 19. ping flood(2) 覆ping コマンド(iputils-sss20101006) $ sudo ping -f -s 1472 192.168.0.1 hping3 version 3.0.0-alpha-2 $ sudo hping3 --flood -1 -d 1472 192.168.0.1 tcpreplay version: 3.4.3 (build 2375) $ sudo tcpreplay --topspeed -K -i eth0 -l 0 sample.pcap
  • 21. ping flood(4) $ uname -a Linux raspi 3.12.22+ #691 PREEMPT Wed Jun 18 18:29:58 BST 2014 armv6l GNU/Linux $ sudo tcpreplay --topspeed -K -i eth0 -l 10000 ping-1472.pcap Actual: 10000 packets (15140000 bytes) sent in 1.64 seconds Rated: 9231707.0 bps, 70.43 Mbps, 6097.56 pps Statistics for network device: eth0 Attempted packets: 10000 Successful packets: 10000 Failed packets: 0 Retried packets (ENOBUFS): 0 Retried packets (EAGAIN): 0
  • 22. memo ? http://tcpreplay.appneta.com/ ? https://github.com/appneta/tcpreplay ? 4.0.5 が恷仟(2014/09/22 r泣) ? http://tcpreplay.synfin.net/ は3.x の秤
  • 23. END