ນີ້ແມ່ນຄໍາສັ່ງ tcpreplay-edit ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
tcpreplay - ຫຼິ້ນຄືນການຈະລາຈອນເຄືອຂ່າຍທີ່ເກັບໄວ້ໃນໄຟລ໌ pcap
ສະຫຼຸບສັງລວມ
tcpreplay [-ທຸງ [ມູນຄ່າ]]... [--ເລືອກຊື່ [=| ]ມູນຄ່າ]]...
tcpreplay ເປັນເຄື່ອງມືສໍາລັບການຫຼິ້ນຄືນການຈະລາຈອນເຄືອຂ່າຍຈາກໄຟລ໌ທີ່ບັນທຶກໄວ້ດ້ວຍ tcpdump ຫຼືອື່ນໆ
ເຄື່ອງມືທີ່ຂຽນ pcap(3) ໄຟລ໌.
ລາຍລະອຽດ
ຫນ້າຄູ່ມືນີ້ຫຍໍ້ເອກະສານກ່ຽວກັບ tcpreplay ຄໍາສັ່ງ. ການດໍາເນີນງານພື້ນຖານຂອງ
tcpreplay ແມ່ນການສົ່ງແພັກເກັດທັງໝົດຈາກໄຟລ໌ປ້ອນຂໍ້ມູນຄືນໃໝ່ດ້ວຍຄວາມໄວທີ່ພວກມັນ
ໄດ້ຖືກບັນທຶກ, ຫຼືອັດຕາຂໍ້ມູນທີ່ກໍານົດໄວ້, ສູງເຖິງໄວເທົ່າທີ່ຮາດແວສາມາດ.
ທາງເລືອກ, ການຈະລາຈອນສາມາດແບ່ງອອກລະຫວ່າງສອງການໂຕ້ຕອບ, ຂຽນໃສ່ໄຟລ໌, ການກັ່ນຕອງ
ແລະແກ້ໄຂດ້ວຍວິທີຕ່າງໆ, ສະຫນອງວິທີການທົດສອບໄຟວໍ, NIDS ແລະເຄືອຂ່າຍອື່ນໆ
ອຸປະກອນ.
ສໍາລັບລາຍລະອຽດເພີ່ມເຕີມ, ກະລຸນາເບິ່ງຄູ່ມື Tcpreplay ທີ່:
http://tcpreplay.synfin.net/trac/wiki/manual
OPTIONS
-r string, -- ແຜນທີ່=string
ຂຽນຄືນພອດ TCP/UDP. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ -1 ເທື່ອ.
ລະບຸລາຍຊື່ຂອງແຜນທີ່ຈຸດທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດທີ່ປະກອບດ້ວຍເຄື່ອງໝາຍຈໍ້າສອງເມັດທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດ
ຄູ່ໝາຍເລກພອດ. ແຕ່ລະຄູ່ພອດທີ່ຂັ້ນດ້ວຍຈໍ້າສອງເມັດປະກອບດ້ວຍພອດເພື່ອຈັບຄູ່
ຕິດຕາມດ້ວຍໝາຍເລກພອດເພື່ອຂຽນໃໝ່.
ຕົວຢ່າງ:
--portmap=80:8000 --portmap=8080:80 # 80->8000 ແລະ 8080->80
--portmap=8000,8080,88888:80 # 3 ພອດທີ່ແຕກຕ່າງກັນກາຍເປັນ 80
--portmap=8000-8999:80 # ພອດ 8000 ຫາ 8999 ກາຍເປັນ 80
-s ຈໍານວນ, -- ແກ່ນ=ຈໍານວນ
Randomize src/dst IPv4/v6 addresses w/ seed. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1
ເທື່ອ. ຕົວເລືອກນີ້ໃຊ້ຕົວເລກຈຳນວນເຕັມເປັນຕົວໂຕ້ແຍ້ງຂອງມັນ.
ເຮັດໃຫ້ແຫຼ່ງທີ່ມາ ແລະປາຍທາງ IPv4/v6 addresses pseudo randomized ແຕ່
ຍັງຮັກສາຄວາມສໍາພັນຂອງລູກຄ້າ / ເຄື່ອງແມ່ຂ່າຍ. ນັບຕັ້ງແຕ່ Randomization ແມ່ນ
ການກໍານົດໂດຍອີງໃສ່ແກ່ນ, ທ່ານສາມາດນໍາໃຊ້ຄືນມູນຄ່າຂອງແກ່ນດຽວກັນເພື່ອສ້າງໃຫມ່
ການຈາລະຈອນ.
-N string, --pnat=string
ຂຽນທີ່ຢູ່ IPv4/v6 ຄືນໃໝ່ໂດຍໃຊ້ pseudo-NAT. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 2 ເທື່ອ.
ຕົວເລືອກນີ້ຈະຕ້ອງບໍ່ປາກົດຢູ່ໃນການປະສົມປະສານກັບຕົວເລືອກຕໍ່ໄປນີ້:
srcipmap.
ເອົາຊຸດທີ່ຂັ້ນດ້ວຍເຄື່ອງໝາຍຈຸດຂອງຄູ່ CIDR netblock ທີ່ຂັ້ນດ້ວຍຈໍ້າສອງເມັດ. ແຕ່ລະ
ຄູ່ netblock ຖືກປະເມີນຕາມລໍາດັບຕໍ່ກັບທີ່ຢູ່ IP. ຖ້າທີ່ຢູ່ IP ໃນ
packet ກົງກັບ netblock ທໍາອິດ, ມັນຖືກຂຽນຄືນໃຫມ່ໂດຍໃຊ້ netblock ທີສອງ
ຫນ້າກາກຕ້ານບິດຄໍາສັ່ງສູງ.
IPv4 ຕົວຢ່າງ:
--pnat=192.168.0.0/16:10.77.0.0/16,172.16.0.0/12:10.1.0.0/24
IPv6 ຕົວຢ່າງ:
--pnat=[2001:db8::/32]:[dead::/16],[2001:db8::/32]:[::ffff:0:0/96]
-S string, --srcipmap=string
ຂຽນທີ່ຢູ່ IPv4/v6 ແຫຼ່ງທີ່ມາຄືນໃໝ່ໂດຍໃຊ້ pseudo-NAT. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1
ເທື່ອ. ຕົວເລືອກນີ້ຈະຕ້ອງບໍ່ປາກົດຢູ່ໃນການປະສົມປະສານກັບສິ່ງຕໍ່ໄປນີ້
ທາງເລືອກ: pnat.
ເຮັດວຽກຄືກັນກັບທາງເລືອກ --pnat, ແຕ່ມີຜົນກະທົບພຽງແຕ່ແຫຼ່ງທີ່ຢູ່ IP ໃນ
ສ່ວນຫົວ IPv4/v6.
-D string, --dtipmap=string
ຂຽນທີ່ຢູ່ IPv4/v6 ປາຍທາງຄືນໃໝ່ໂດຍໃຊ້ pseudo-NAT. ຕົວເລືອກນີ້ອາດຈະປາກົດຂຶ້ນ
ເຖິງ 1 ເທື່ອ. ຕົວເລືອກນີ້ຈະຕ້ອງບໍ່ປາກົດຢູ່ໃນການປະສົມປະສານກັບສິ່ງຕໍ່ໄປນີ້
ທາງເລືອກ: pnat.
ເຮັດວຽກຄືກັນກັບທາງເລືອກ --pnat, ແຕ່ມີຜົນກະທົບພຽງແຕ່ທີ່ຢູ່ IP ປາຍທາງໃນ
ສ່ວນຫົວ IPv4/v6.
-e string, --ຈຸດຈົບ=string
ຂຽນທີ່ຢູ່ IP ຄືນໃໝ່ໃຫ້ຢູ່ລະຫວ່າງສອງຈຸດສິ້ນສຸດ. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1
ເທື່ອ. ຕົວເລືອກນີ້ຕ້ອງປາກົດຢູ່ໃນການປະສົມປະສານກັບຕົວເລືອກຕໍ່ໄປນີ້:
cachefile.
ເອົາຄູ່ທີ່ຢູ່ IPv4/v6 ທີ່ຂັ້ນດ້ວຍຈໍ້າສອງເມັດທີ່ຈະໃຊ້ເພື່ອຂຽນຄືນທັງໝົດ.
ການຈະລາຈອນເບິ່ງຄືວ່າຢູ່ລະຫວ່າງສອງ IP ຂອງ.
IPv4 ຕົວຢ່າງ:
--endpoints=172.16.0.1:172.16.0.2
IPv6 ຕົວຢ່າງ:
--endpoints=[2001:db8::dead:beef]:[::ffff:0:0:ac:f:0:2]
-b, --ຂ້າມການອອກອາກາດ
ຂ້າມການຂຽນຄືນທີ່ຢູ່ອອກອາກາດ/multicast IPv4/v6.
ໂດຍຄ່າເລີ່ມຕົ້ນ --seed, --pnat ແລະ --endpoints ຈະຂຽນຄືນໃຫມ່ ແລະ multicast
ທີ່ຢູ່ IPv4/v6 ແລະ MAC. ການຕັ້ງຄ່າທຸງນີ້ຈະຮັກສາການອອກອາກາດ/multicast IPv4/v6
ແລະທີ່ຢູ່ MAC ຈາກການຖືກຂຽນຄືນໃຫມ່.
-C, --fixcsum
ບັງຄັບການຄິດໄລ່ຄືນຂອງ IPv4/TCP/UDP header checksums.
ເຮັດໃຫ້ແຕ່ລະແພັກເກັດ IPv4/v6 ມີ checksums ຂອງມັນຖືກຄິດໄລ່ຄືນໃຫມ່ ແລະແກ້ໄຂ.
ເປີດໃຊ້ອັດຕະໂນມັດສໍາລັບແພັກເກັດທີ່ຖືກແກ້ໄຂດ້ວຍ -- ແກ່ນ, --pnat, --ຈຸດຈົບ or
--ແກ້ໄຂ.
-m ຈໍານວນ, --mtu=ຈໍານວນ
ລົບລ້າງຄວາມຍາວ MTU ເລີ່ມຕົ້ນ (1500 bytes). ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ.
ຕົວເລືອກນີ້ໃຊ້ຕົວເລກຈຳນວນເຕັມເປັນຕົວໂຕ້ແຍ້ງຂອງມັນ. ມູນຄ່າຂອງ ຈໍານວນ is
ຈໍາກັດການເປັນ:
ໃນລະຫວ່າງ 1 ຫາ MAXPACKET
ລົບລ້າງຂະໜາດ MTU ເລີ່ມຕົ້ນ 1500 byte ສຳລັບການກຳນົດຄວາມຍາວສູງສຸດຂອງ padding
(--fixlen=pad) ຫຼື ເມື່ອຕັດ (--mtu-trunc).
--mtu-trunc
ຕັດຊຸດແພັກເກັດທີ່ໃຫຍ່ກວ່າຫຼັງຈາກນັ້ນໄດ້ລະບຸ MTU. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ.
ຄ້າຍຄືກັນກັບ --fixlen, ຕົວເລືອກນີ້ຈະຕັດຂໍ້ມູນໃນແພັກເກັດຈາກຊັ້ນ 3 ແລະ
ຂ້າງເທິງຈະບໍ່ໃຫຍ່ກວ່າ MTU.
-E, --efcs
ເອົາ Ethernet checksums (FCS) ອອກຈາກທ້າຍຂອງເຟຣມ.
ຫມາຍເຫດ, ທາງເລືອກນີ້ແມ່ນອັນຕະລາຍຫຼາຍ! ພວກເຮົາບໍ່ໄດ້ກວດເບິ່ງຕົວຈິງວ່າ FCS
ຕົວຈິງແລ້ວມີຢູ່ໃນກອບ, ພວກເຮົາພຽງແຕ່ລຶບສອງ bytes ສຸດທ້າຍໂດຍ blindly. ດັ່ງນັ້ນ,
ທ່ານຄວນໃຊ້ມັນພຽງແຕ່ຖ້າທ່ານຮູ້ວ່າ OS ຂອງທ່ານໃຫ້ FCS ເມື່ອໃດ
ການອ່ານຊຸດດິບ.
--ttl=string
ແກ້ໄຂການຈຳກັດ IPv4/v6 TTL/Hop.
ອະນຸຍາດໃຫ້ທ່ານດັດແປງ TTL/Hop Limit ຂອງທຸກແພັກເກັດ IPv4/v6. ລະບຸ ກ
ຕົວເລກເພື່ອ hard-code ມູນຄ່າຫຼື +/-value ເພື່ອເພີ່ມຫຼືຫຼຸດລົງໂດຍມູນຄ່າ
ສະຫນອງໃຫ້ (ຈໍາກັດ 1-255).
ຕົວຢ່າງ:
--ttl=10
--ttl=+7
--ttl=-64
--tos=ຈໍານວນ
ຕັ້ງ IPv4 TOS/DiffServ/ECN byte. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ. ນີ້
ທາງເລືອກເອົາຈໍານວນເຕັມເປັນການໂຕ້ຖຽງຂອງຕົນ. ມູນຄ່າຂອງ ຈໍານວນ ຖືກຈຳກັດ
ເປັນ:
ໃນລະຫວ່າງ 0 ຫາ 255
ອະນຸຍາດໃຫ້ທ່ານ override ຄ່າ TOS (ເອີ້ນກັນວ່າ DiffServ/ECN) ໃນ IPv4.
--tclass=ຈໍານວນ
ຕັ້ງຄ່າ IPv6 Traffic Class byte. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ. ນີ້
ທາງເລືອກເອົາຈໍານວນເຕັມເປັນການໂຕ້ຖຽງຂອງຕົນ. ມູນຄ່າຂອງ ຈໍານວນ ຖືກຈຳກັດ
ເປັນ:
ໃນລະຫວ່າງ 0 ຫາ 255
ອະນຸຍາດໃຫ້ທ່ານ override ພາກສະຫນາມ IPv6 Traffic Class.
--flowlabel=ຈໍານວນ
ຕັ້ງປ້າຍຊື່ IPv6 Flow. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ. ທາງເລືອກນີ້ໃຊ້ເວລາ
ຈໍານວນເຕັມເປັນ argument ຂອງມັນ. ມູນຄ່າຂອງ ຈໍານວນ ຖືກ ຈຳ ກັດເປັນ:
ໃນລະຫວ່າງ 0 ຫາ 1048575
ອະນຸຍາດໃຫ້ທ່ານ override 20bit IPv6 Flow Label. ບໍ່ມີຜົນຕໍ່ IPv4
ຊອງ.
-F string, --ແກ້ໄຂ=string
pad ຫຼືຕັດຂໍ້ມູນແພັກເກັດໃຫ້ກົງກັບຄວາມຍາວສ່ວນຫົວ. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1
ເວລາ.
ແພັກເກັດອາດຈະຖືກຕັດສັ້ນລົງໃນລະຫວ່າງການຈັບພາບ ຖ້າ snaplen ມີຂະຫນາດນ້ອຍກວ່າແພັກເກັດ.
ຕົວເລືອກນີ້ຊ່ວຍໃຫ້ທ່ານສາມາດດັດແປງແພັກເກັດເພື່ອ pad packet ກັບຄືນໄປບ່ອນຂະຫນາດ
ເກັບໄວ້ໃນສ່ວນຫົວ IPv4/v6 ຫຼືຂຽນຄືນຄວາມຍາວທັງໝົດຂອງຫົວ IP ເພື່ອສະທ້ອນເຖິງ
ຄວາມຍາວຂອງແພັກເກັດທີ່ເກັບໄວ້.
pad ແພັກເກັດທີ່ຖືກຕັດຈະຖືກຕັດອອກເພື່ອໃຫ້ຄວາມຍາວຂອງແພັກເກັດກົງກັບ IPv4
ຄວາມຍາວທັງ ໝົດ
ລຳ ຕົ້ນ ແພັກເກັດທີ່ຖືກຕັດອອກຈະມີຊ່ອງຂໍ້ມູນຄວາມຍາວທັງໝົດ IPv4 ຂອງພວກມັນຖືກຂຽນຄືນໃໝ່ເພື່ອໃຫ້ກົງກັນ
ຄວາມຍາວຂອງແພັກເກັດຕົວຈິງ
ໄດ້ ລຶບແພັກເກັດ
--skipl2 ອອກອາກາດ
ຂ້າມການຂຽນຄືນໃຫມ່ການອອກອາກາດ / multicast Layer 2 ທີ່ຢູ່.
ໂດຍຄ່າເລີ່ມຕົ້ນ, ການແກ້ໄຂທີ່ຢູ່ຊັ້ນ 2 ຈະຂຽນຄືນການອອກອາກາດ ແລະ multicast MAC
ທີ່ຢູ່. ການຕັ້ງຄ່າທຸງນີ້ຈະຮັກສາທີ່ຢູ່ MAC ອອກອາກາດ/multicast ຈາກ
ຖືກຂຽນຄືນ.
--dlt=string
ຍົກເລີກການຫຸ້ມຫໍ່ DLT ຜົນຜະລິດ. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ.
ໂດຍຄ່າເລີ່ມຕົ້ນ, ບໍ່ມີການແປງ DLT (ປະເພດການເຊື່ອມຕໍ່ຂໍ້ມູນ) ຈະຖືກເຮັດ. ເພື່ອປ່ຽນ DLT
ປະເພດຂອງ output pcap, ເລືອກຫນຶ່ງໃນຄ່າດັ່ງຕໍ່ໄປນີ້:
ເຂົ້າ ອີເທີເນັດ aka DLT_EN10MB
hdlc Cisco HDLC ເອີ້ນວ່າ DLT_C_HDLC
ຜູ້ໃຊ້ ຜູ້ໃຊ້ລະບຸ Layer 2 header ແລະປະເພດ DLT
--enet-dmac=string
ລົບລ້າງທີ່ຢູ່ Ethernet MAC ປາຍທາງ. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ.
ເອົາຄູ່ຂອງເຄື່ອງໝາຍຈຸດທີ່ແຍກອອກ ethernet ທີ່ຢູ່ MAC ເຊິ່ງຈະປ່ຽນແທນ
ທີ່ຢູ່ MAC ປາຍທາງຂອງແພັກເກັດຂາອອກ. ທີ່ຢູ່ MAC ທໍາອິດຈະຖືກນໍາໃຊ້
ສໍາລັບເຄື່ອງແມ່ຂ່າຍຂອງການຈະລາຈອນຂອງລູກຄ້າແລະທີ່ຢູ່ MAC ທີສອງທາງເລືອກຈະຖືກໃຊ້
ສໍາລັບລູກຄ້າກັບການເຂົ້າຊົມຂອງເຄື່ອງແມ່ຂ່າຍ.
ຕົວຢ່າງ:
--enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66
--enet-smac=string
ລົບລ້າງທີ່ຢູ່ MAC ethernet ແຫຼ່ງ. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ.
ເອົາຄູ່ຂອງເຄື່ອງໝາຍຈຸດທີ່ແຍກອອກ ethernet ທີ່ຢູ່ MAC ເຊິ່ງຈະປ່ຽນແທນ
ແຫຼ່ງທີ່ຢູ່ MAC ຂອງແພັກເກັດຂາອອກ. ທີ່ຢູ່ MAC ທໍາອິດຈະຖືກໃຊ້ສໍາລັບ
ເຊີບເວີກັບການເຂົ້າຊົມຂອງລູກຄ້າແລະທີ່ຢູ່ MAC ທີສອງທາງເລືອກຈະຖືກໃຊ້ສໍາລັບ
ລູກຄ້າກັບການຈະລາຈອນ server.
ຕົວຢ່າງ:
--enet-smac=00:12:13:14:15:16,00:22:33:44:55:66
--enet-vlan=string
ລະບຸຮູບແບບແທັກ ethernet 802.1q VLAN. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ.
ອະນຸຍາດໃຫ້ທ່ານຂຽນ ethernet ເຟຣມເພື່ອເພີ່ມຫົວຂໍ້ 802.1q ກັບມາດຕະຖານ 802.3
ສ່ວນຫົວອີເທີເນັດ ຫຼືເອົາຂໍ້ມູນແທັກ VLAN 802.1q ອອກ.
ເພີ່ມ ຂຽນສ່ວນຫົວອີເທີເນັດ 802.3 ທີ່ມີຢູ່ແລ້ວຄືນໃໝ່ເປັນສ່ວນຫົວ 802.1q VLAN
ໄດ້ ຂຽນສ່ວນຫົວ 802.1q VLAN ທີ່ມີຢູ່ແລ້ວຄືນໃໝ່ເປັນສ່ວນຫົວອີເທີເນັດ 802.3
--enet-vlan-tag=ຈໍານວນ
ລະບຸຄ່າແທັກ ethernet 802.1q VLAN ໃໝ່. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1
ເທື່ອ. ທາງເລືອກນີ້ຕ້ອງປາກົດຢູ່ໃນປະສົມປະສານກັບທາງເລືອກດັ່ງຕໍ່ໄປນີ້: enet-
vlan. ຕົວເລືອກນີ້ໃຊ້ຕົວເລກຈຳນວນເຕັມເປັນຕົວໂຕ້ແຍ້ງຂອງມັນ. ມູນຄ່າຂອງ ຈໍານວນ is
ຈໍາກັດການເປັນ:
ໃນລະຫວ່າງ 0 ຫາ 4095
--enet-vlan-cfi=ຈໍານວນ
ລະບຸຄ່າອີເທີເນັດ 802.1q VLAN CFI. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ.
ຕົວເລືອກນີ້ຕ້ອງປາກົດຢູ່ໃນການປະສົມປະສານກັບທາງເລືອກຕໍ່ໄປນີ້: enet-vlan. ນີ້
ທາງເລືອກເອົາຈໍານວນເຕັມເປັນການໂຕ້ຖຽງຂອງຕົນ. ມູນຄ່າຂອງ ຈໍານວນ ຖືກຈຳກັດ
ເປັນ:
ໃນລະຫວ່າງ 0 ຫາ 1
--enet-vlan-pri=ຈໍານວນ
ລະບຸບູລິມະສິດ ethernet 802.1q VLAN. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ.
ຕົວເລືອກນີ້ຕ້ອງປາກົດຢູ່ໃນການປະສົມປະສານກັບທາງເລືອກຕໍ່ໄປນີ້: enet-vlan. ນີ້
ທາງເລືອກເອົາຈໍານວນເຕັມເປັນການໂຕ້ຖຽງຂອງຕົນ. ມູນຄ່າຂອງ ຈໍານວນ ຖືກຈຳກັດ
ເປັນ:
ໃນລະຫວ່າງ 0 ຫາ 7
--hdlc-ຄວບຄຸມ=ຈໍານວນ
ລະບຸຄ່າຄວບຄຸມ HDLC. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ. ທາງເລືອກນີ້
ເອົາຕົວເລກຈໍານວນເຕັມເປັນການໂຕ້ຖຽງຂອງມັນ.
ຫົວ Cisco HDLC ມີ 1 byte "ຄວບຄຸມ" ພາກສະຫນາມ. ປາກົດຂື້ນນີ້ຄວນຈະສະເຫມີ
ເປັນ 0, ແຕ່ຖ້າທ່ານສາມາດໃຊ້ຄ່າໃດໆ 1 byte.
--hdlc-ທີ່ຢູ່=ຈໍານວນ
ລະບຸທີ່ຢູ່ HDLC. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ. ທາງເລືອກນີ້ໃຊ້ເວລາເປັນ
ຈໍານວນເຕັມເປັນ argument ຂອງມັນ.
ສ່ວນຫົວ Cisco HDLC ມີຊ່ອງຂໍ້ມູນ 1 byte "ທີ່ຢູ່" ເຊິ່ງມີສອງຄ່າທີ່ຖືກຕ້ອງ:
0x0F Unicast
0xBF ອອກອາກາດຄັ້ງ
ຢ່າງໃດກໍຕາມ, ທ່ານສາມາດກໍານົດຄ່າໃດໆ byte ດຽວ.
--user-dlt=ຈໍານວນ
ຕັ້ງໄຟລ໌ຜົນຜະລິດປະເພດ DLT. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ. ທາງເລືອກນີ້ໃຊ້ເວລາ
ຈໍານວນເຕັມເປັນ argument ຂອງມັນ.
ກໍານົດຄ່າ DLT ຂອງໄຟລ໌ pcap ຜົນຜະລິດ.
--user-dlink=string
ຂຽນຄືນ Data-Link layer ດ້ວຍຂໍ້ມູນທີ່ລະບຸຂອງຜູ້ໃຊ້. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 2
ເວລາ.
ສະໜອງຊຸດຂອງຄ່າ hex ທີ່ກຳນົດດ້ວຍເຄື່ອງໝາຍຈຸດທີ່ຈະໃຊ້ເພື່ອຂຽນຄືນ ຫຼື
ສ້າງສ່ວນຫົວຊັ້ນ 2 ຂອງແພັກເກັດ. ຕົວຢ່າງທໍາອິດຂອງການໂຕ້ຖຽງນີ້ຈະ
rewrite ທັງ server ແລະ client traffic, ແຕ່ຖ້າ argument ນີ້ຖືກກໍານົດເປັນວິນາທີ
ເວລາ, ມັນຈະຖືກນໍາໃຊ້ສໍາລັບການຈະລາຈອນຂອງລູກຄ້າ.
ຕົວຢ່າງ:
--user-dlink=01,02,03,04,05,06,00,1A,2B,3C,4D,5E,6F,08,00
-d ຈໍານວນ, --dbug=ຈໍານວນ
ເປີດໃຊ້ການແກ້ໄຂຜົນອອກ. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ. ທາງເລືອກນີ້ໃຊ້ເວລາ
ຈໍານວນເຕັມເປັນ argument ຂອງມັນ. ມູນຄ່າຂອງ ຈໍານວນ ຖືກ ຈຳ ກັດເປັນ:
ໃນລະຫວ່າງ 0 ຫາ 5
ຄ່າເລີ່ມຕົ້ນ ຈໍານວນ ສໍາລັບທາງເລືອກນີ້ແມ່ນ:
0
ຖ້າຖືກຕັ້ງຄ່າດ້ວຍ --enable-debug, ຫຼັງຈາກນັ້ນທ່ານສາມາດກໍານົດລະດັບ verbosity ສໍາລັບ
debugging output. ຕົວເລກທີ່ສູງຂຶ້ນຈະເພີ່ມຄວາມເວົ້າ.
-q, --ງຽບ
ໂໝດງຽບ.
ພິມບໍ່ມີຫຍັງຍົກເວັ້ນສະຖິຕິໃນຕອນທ້າຍຂອງການແລ່ນ
-T string, --ໂມງຈັບເວລາ=string
ເລືອກຮູບແບບການກໍານົດເວລາແພັກເກັດ: ເລືອກ, ioport, rdtsc, gtod, nano, abstime. ທາງເລືອກນີ້
ອາດຈະປາກົດເຖິງ 1 ເທື່ອ. ຄ່າເລີ່ມຕົ້ນ string ສໍາລັບທາງເລືອກນີ້ແມ່ນ:
gtod
ອະນຸຍາດໃຫ້ທ່ານເລືອກວິທີການກໍານົດເວລາແພັກເກັດເພື່ອໃຊ້:
nano - ໃຊ້ nanosleep() API
ເລືອກ - ໃຊ້ select() API
ioport - ຂຽນໃສ່ i386 IO Port 0x80
rdtsc - ໃຊ້ x86/x86_64/PPC RDTSC
gtod [ຄ່າເລີ່ມຕົ້ນ] - ໃຊ້ gettimeofday() loop
ເວລາຫວ່າງ - ໃຊ້ OS X's AbsoluteTime API
--sleep-accel=ຈໍານວນ
ຫຼຸດຈໍານວນເວລານອນໂດຍການນໍາໃຊ້ທີ່ລະບຸໄວ້. ຕົວເລືອກນີ້ໃຊ້ຈຳນວນເຕັມ
ຕົວເລກເປັນການໂຕ້ຖຽງຂອງມັນ. ຄ່າເລີ່ມຕົ້ນ ຈໍານວນ ສໍາລັບທາງເລືອກນີ້ແມ່ນ:
0
ຫຼຸດຜ່ອນເວລາປົກກະຕິທີ່ພວກເຮົາຈະນອນລະຫວ່າງສອງຊອງໂດຍ
ຈໍານວນທີ່ກໍານົດໄວ້ຂອງ usec. ນີ້ສະຫນອງ "ປັດໄຈ fuzz" ເພື່ອຊົດເຊີຍການແລ່ນ
ໃນຂະບວນການທີ່ບໍ່ແມ່ນ RTOS ແລະຂະບວນການອື່ນໆໂດຍໃຊ້ເວລາ CPU. ຄ່າເລີ່ມຕົ້ນຖືກປິດໃຊ້ງານ.
--rdtsc-ຄລິກ=ຈໍານວນ
ລະບຸ RDTSC clicks/usec. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ. ທາງເລືອກນີ້
ເອົາຕົວເລກຈໍານວນເຕັມເປັນການໂຕ້ຖຽງຂອງມັນ. ຄ່າເລີ່ມຕົ້ນ ຈໍານວນ ສໍາລັບທາງເລືອກນີ້ແມ່ນ:
0
ລົບລ້າງຈຳນວນທີ່ຄຳນວນແລ້ວຂອງ RDTSC clicks/usec ເຊິ່ງມັກຈະເປັນຄວາມໄວຂອງ
CPU ໃນ Mhz. ພຽງແຕ່ເປັນປະໂຫຍດຖ້າທ່ານລະບຸ --timer=rdtsc
-v, -- verbose
ພິມແພັກເກັດຖອດລະຫັດຜ່ານ tcpdump ໄປ STDOUT. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ.
-A string, --ຖອດລະຫັດ=string
ອາກິວເມັນຜ່ານໄປຫາຕົວຖອດລະຫັດ tcpdump. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ. ນີ້
ທາງເລືອກຕ້ອງປາກົດຢູ່ໃນການປະສົມກັບທາງເລືອກດັ່ງຕໍ່ໄປນີ້: verbose.
ເມື່ອເປີດໃຊ້ໂໝດ verbose (-v) ທ່ານອາດຈະລະບຸຫນຶ່ງຫຼືຫຼາຍກວ່ານັ້ນເພີ່ມເຕີມ
ການໂຕ້ຖຽງທີ່ຈະຜ່ານໄປ tcpdump ເພື່ອແກ້ໄຂວິທີການຖອດລະຫັດແພັກເກັດ. ໂດຍຄ່າເລີ່ມຕົ້ນ, -n
ແລະ -l ຖືກນໍາໃຊ້. ໃຫ້ແນ່ໃຈວ່າອ້າງເຖິງການໂຕ້ຖຽງເຊັ່ນ: -A "-axxx" ດັ່ງນັ້ນພວກເຂົາ
ບໍ່ໄດ້ຖືກຕີຄວາມໂດຍ tcpreplay. ກະລຸນາເບິ່ງ tcpdump(1) man page for a
ບັນຊີລາຍຊື່ເຕັມຂອງທາງເລືອກ.
-K, --enable-file-cache
ເປີດໃຊ້ການຈັດເກັບແພັກເກັດໃສ່ໜ່ວຍຄວາມຈຳພາຍໃນ. ຕົວເລືອກນີ້ຕ້ອງປາກົດຢູ່ໃນ
ປະສົມປະສານກັບທາງເລືອກຕໍ່ໄປນີ້: loop.
cache pcap file(s) ຄັ້ງທຳອິດທີ່ພວກມັນຖືກເກັບໄວ້ໃນ RAM ເພື່ອໃຫ້ມີ loops ຕໍ່ໄປ
ຢ່າເຮັດໃຫ້ເວລາແພັກເກັດ I/O ຂອງແຜ່ນໃດນຶ່ງ ເພື່ອເພີ່ມປະສິດທິພາບ. ໃຫ້ແນ່ໃຈວ່າທ່ານ
ມີ RAM ຟຣີພຽງພໍເພື່ອເກັບຮັກສາໄຟລ໌ pcap ທັງຫມົດໃນຫນ່ວຍຄວາມຈໍາຫຼືລະບົບຈະ
swap ແລະການປະຕິບັດຈະທົນທຸກ.
--preload-pcap
ໂຫຼດແພັກເກັດໄວ້ລ່ວງໜ້າໃສ່ RAM ກ່ອນທີ່ຈະສົ່ງ.
ຕົວເລືອກນີ້ໂຫຼດ pcap ທີ່ລະບຸໄວ້ໃນ RAM ກ່ອນທີ່ຈະເລີ່ມສົ່ງຕາມລໍາດັບ
ເພື່ອປັບປຸງປະສິດທິພາບການຫຼິ້ນຄືນໃນຂະນະທີ່ແນະນໍາການຕີປະສິດທິພາບການເລີ່ມຕົ້ນ.
Preloading ສາມາດໃຊ້ກັບຫຼືບໍ່ມີ -- ວົງ ແລະຫມາຍຄວາມວ່າ --enable-file-cache.
-c string, --cachefile=string
ແບ່ງການຈະລາຈອນຜ່ານໄຟລ໌ cache tcpprep. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ.
-i string, --intf1=string
ເຊີບເວີ / ການໂຕ້ຕອບຜົນໄດ້ຮັບການຈະລາຈອນຕົ້ນຕໍ. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ.
-I string, --intf2=string
Client/secondary traffic output interface. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ.
ຕົວເລືອກນີ້ຕ້ອງປາກົດຢູ່ໃນການປະສົມປະສານກັບທາງເລືອກຕໍ່ໄປນີ້: cachefile.
--listnics
ລາຍຊື່ສ່ວນຕິດຕໍ່ເຄືອຂ່າຍທີ່ມີຢູ່ ແລະອອກ.
-l ຈໍານວນ, -- ວົງ=ຈໍານວນ
Loop ຜ່ານ capture file X ເທື່ອ. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ. ນີ້
ທາງເລືອກເອົາຈໍານວນເຕັມເປັນການໂຕ້ຖຽງຂອງຕົນ. ມູນຄ່າຂອງ ຈໍານວນ ຖືກຈຳກັດ
ເປັນ:
ໃຫຍ່ກວ່າ ຫຼືເທົ່າກັບ 0
ຄ່າເລີ່ມຕົ້ນ ຈໍານວນ ສໍາລັບທາງເລືອກນີ້ແມ່ນ:
1
--pktlen
ຂ້າມ snaplen ແລະໃຊ້ packet len ຕົວຈິງ. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1
ເວລາ.
ໂດຍຄ່າເລີ່ມຕົ້ນ, tcpreplay ຈະສົ່ງແພັກເກັດໂດຍອີງໃສ່ຂະຫນາດຂອງ "snaplen" ເກັບຮັກສາໄວ້.
ໃນໄຟລ໌ pcap ເຊິ່ງປົກກະຕິແລ້ວເປັນສິ່ງທີ່ຖືກຕ້ອງທີ່ຈະເຮັດ. ຢ່າງໃດກໍຕາມ, ບາງຄັ້ງ,
ເຄື່ອງມືຈະເກັບ bytes ຫຼາຍຫຼັງຈາກນັ້ນບອກ. ໂດຍການລະບຸທາງເລືອກນີ້, tcpreplay
ຈະບໍ່ສົນໃຈພາກສະຫນາມ snaplen ແລະແທນທີ່ຈະພະຍາຍາມສົ່ງແພັກເກັດໂດຍອີງໃສ່ຕົ້ນສະບັບ
ຄວາມຍາວຊຸດ. ສິ່ງທີ່ບໍ່ດີອາດຈະເກີດຂື້ນຖ້າທ່ານລະບຸທາງເລືອກນີ້.
-L ຈໍານວນ, -- ຈຳກັດ=ຈໍານວນ
ຈໍາກັດຈໍານວນຊອງທີ່ຈະສົ່ງ. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ. ນີ້
ທາງເລືອກເອົາຈໍານວນເຕັມເປັນການໂຕ້ຖຽງຂອງຕົນ. ມູນຄ່າຂອງ ຈໍານວນ ຖືກຈຳກັດ
ເປັນ:
ໃຫຍ່ກວ່າ ຫຼືເທົ່າກັບ 1
ຄ່າເລີ່ມຕົ້ນ ຈໍານວນ ສໍາລັບທາງເລືອກນີ້ແມ່ນ:
-1
ໂດຍຄ່າເລີ່ມຕົ້ນ, tcpreplay ຈະສົ່ງແພັກເກັດທັງໝົດ. ອີກທາງເລືອກ, ທ່ານສາມາດກໍານົດ a
ຈໍານວນຊອງສູງສຸດທີ່ຈະສົ່ງ.
-x string, --ຕົວຄູນ=string
ແກ້ໄຂຄວາມໄວການຫຼິ້ນຄືນເປັນຫຼາຍອັນທີ່ໃຫ້. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ.
ທາງເລືອກນີ້ຕ້ອງບໍ່ປະກົດວ່າປະສົມກັບທາງເລືອກໃດຫນຶ່ງດັ່ງຕໍ່ໄປນີ້: pps,
mbps, oneatatime, topspeed.
ລະບຸຄ່າຈຸດລອຍເພື່ອແກ້ໄຂຄວາມໄວການຫຼິ້ນແພັກເກັດ. ຕົວຢ່າງ:
2.0 ຈະຫຼິ້ນຄືນການຈະລາຈອນດ້ວຍຄວາມໄວສອງເທົ່າຂອງຄວາມໄວທີ່ຈັບໄດ້
0.7 ຈະຫຼິ້ນຄືນການຈະລາຈອນຢູ່ທີ່ 70% ຄວາມໄວທີ່ຖືກຈັບ
-p ຈໍານວນ, --pps=ຈໍານວນ
ຫຼິ້ນແພັກເກັດຄືນໃໝ່ຢູ່ທີ່ແພັກເກັດທີ່ໃຫ້/ວິນາທີ. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ. ນີ້
ທາງເລືອກຈະຕ້ອງບໍ່ປາກົດຢູ່ໃນການປະສົມປະສານກັບຕົວເລືອກຕໍ່ໄປນີ້:
ຕົວຄູນ, mbps, oneatatime, topspeed. ຕົວເລືອກນີ້ໃຊ້ຕົວເລກຈຳນວນເຕັມເປັນຂອງມັນ
ການໂຕ້ຖຽງ.
-M string, --mbps=string
ຫຼິ້ນແພັກເກັດຄືນໃໝ່ຢູ່ທີ່ Mbps ທີ່ກຳນົດ. ຕົວເລືອກນີ້ອາດຈະປາກົດເຖິງ 1 ເທື່ອ. ທາງເລືອກນີ້
ຈະຕ້ອງບໍ່ປາກົດຢູ່ໃນການປະສົມປະສານກັບຕົວເລືອກຕໍ່ໄປນີ້: ຕົວຄູນ, pps,
oneatatime, topspeed.
ລະບຸຄ່າຈຸດລອຍສໍາລັບອັດຕາ Mbps ທີ່ tcpreplay ຄວນສົ່ງແພັກເກັດ
ຢູ່.
-t, --ຄວາມໄວສູງສຸດ
ຫຼິ້ນແພັກເກັດຄືນໃໝ່ໄວເທົ່າທີ່ຈະໄວໄດ້. ຕົວເລືອກນີ້ຈະຕ້ອງບໍ່ປາກົດຢູ່ໃນການປະສົມປະສານ
ດ້ວຍຕົວເລືອກຕໍ່ໄປນີ້: mbps, ຕົວຄູນ, pps, oneatatime.
-o, --oneatatime
ຫຼິ້ນເທື່ອລະຊຸດສຳລັບການປ້ອນຂໍ້ມູນຂອງຜູ້ໃຊ້ແຕ່ລະຄົນ. ຕົວເລືອກນີ້ຈະຕ້ອງບໍ່ປາກົດຢູ່ໃນ
ປະສົມປະສານກັບຕົວເລືອກຕໍ່ໄປນີ້: mbps, pps, ຕົວຄູນ, topspeed.
ອະນຸຍາດໃຫ້ທ່ານສາມາດກ້າວຜ່ານຫນຶ່ງຫຼືຫຼາຍແພັກເກັດໃນເວລາດຽວກັນ.
--pps-multi=ຈໍານວນ
ຈໍານວນຂອງຊອງທີ່ຈະສົ່ງສໍາລັບໄລຍະເວລາແຕ່ລະຄົນ. ຕົວເລືອກນີ້ຕ້ອງປາກົດຢູ່ໃນ
ປະສົມປະສານກັບທາງເລືອກຕໍ່ໄປນີ້: pps. ຕົວເລືອກນີ້ໃຊ້ຕົວເລກຈໍານວນເຕັມ
ເປັນການໂຕ້ຖຽງຂອງຕົນ. ມູນຄ່າຂອງ ຈໍານວນ ຖືກ ຈຳ ກັດເປັນ:
ໃຫຍ່ກວ່າ ຫຼືເທົ່າກັບ 1
ຄ່າເລີ່ມຕົ້ນ ຈໍານວນ ສໍາລັບທາງເລືອກນີ້ແມ່ນ:
1
ເມື່ອພະຍາຍາມສົ່ງແພັກເກັດໃນອັດຕາທີ່ສູງຫຼາຍ, ເວລາລະຫວ່າງແຕ່ລະແພັກເກັດສາມາດເປັນ
ສັ້ນຫຼາຍຈົນບໍ່ສາມາດນອນໄດ້ຢ່າງຖືກຕ້ອງຕາມໄລຍະເວລາທີ່ຕ້ອງການ.
ຕົວເລືອກນີ້ຊ່ວຍໃຫ້ທ່ານສາມາດສົ່ງຫຼາຍແພັກເກັດໃນເວລາດຽວກັນ, ດັ່ງນັ້ນຈຶ່ງເຮັດໃຫ້ເວລາດົນກວ່າ
ເວລານອນທີ່ສາມາດປະຕິບັດໄດ້ຢ່າງຖືກຕ້ອງກວ່າ.
-P, --pid
ພິມ PID ຂອງ tcpreplay ໃນຕອນເລີ່ມຕົ້ນ.
--ສະຖິຕິ=ຈໍານວນ
ພິມສະຖິຕິທຸກໆ X ວິນາທີ. ຕົວເລືອກນີ້ໃຊ້ຕົວເລກຈໍານວນເຕັມເປັນຂອງມັນ
ການໂຕ້ຖຽງ. ມູນຄ່າຂອງ ຈໍານວນ ຖືກ ຈຳ ກັດເປັນ:
ໃຫຍ່ກວ່າ ຫຼືເທົ່າກັບ 1
ໃຫ້ສັງເກດວ່ານີ້ແມ່ນ "ຄວາມພະຍາຍາມທີ່ດີທີ່ສຸດ" ແລະການຊັກຊ້າທີ່ຍາວນານລະຫວ່າງການສົ່ງແພັກເກັດ
ອາດຈະເຮັດໃຫ້ເກີດຄວາມລ່າຊ້າທີ່ຍາວນານເທົ່າທຽມກັນລະຫວ່າງສະຖິຕິການພິມ.
-V, - ການປ່ຽນແປງ
ພິມຂໍ້ມູນສະບັບ.
-h, --ຫນ້ອຍ-ຊ່ວຍ
ສະແດງຂໍ້ມູນການນໍາໃຊ້ຫນ້ອຍລົງແລະອອກ.
-H, - ຊ່ວຍ
ສະແດງຂໍ້ມູນການນໍາໃຊ້ແລະອອກ.
-!, --ການຊ່ວຍເຫຼືອເພີ່ມເຕີມ
ຂໍ້ມູນການນໍາໃຊ້ທີ່ຂະຫຍາຍໄດ້ຜ່ານ pager.
- [rcfile], --save-opts[=rcfile]
ບັນທຶກສະຖານະທາງເລືອກເປັນ rcfile. ຄ່າເລີ່ມຕົ້ນແມ່ນ ສຸດທ້າຍ ໄຟລ໌ການຕັ້ງຄ່າໃນລາຍການ
ໃນ ທາງເລືອກ ວຽກງານ ພາກສ່ວນ, ຂ້າງລຸ່ມນີ້.
- rcfile, --load-opts=rcfile, --no-load-opts
ໂຫຼດຕົວເລືອກຈາກ rcfile. ໄດ້ no-load-opts ແບບຟອມຈະປິດການໂຫຼດຂອງ
ໄຟລ໌ RC/INI ກ່ອນຫນ້ານີ້. --no-load-opts ຖືກຈັດການໄວ, ອອກຄໍາສັ່ງ.
ທາງເລືອກ ວຽກງານ
ທາງເລືອກໃດນຶ່ງທີ່ບໍ່ໄດ້ໝາຍເປັນ ບໍ່ ສາມາດຕັ້ງໄວ້ລ່ວງໜ້າໄດ້ ອາດຈະຖືກຕັ້ງໄວ້ລ່ວງໜ້າໂດຍການໂຫຼດຄ່າຈາກ
ໄຟລ໌ການຕັ້ງຄ່າ ("RC" ຫຼື ".INI") ໄດ້ homerc ໄຟລ໌ແມ່ນ "$$/", ເວັ້ນເສຍແຕ່ວ່າມັນເປັນ
ໄດເລກະທໍລີ. ໃນກໍລະນີດັ່ງກ່າວນີ້, ໄຟລ໌ "..tcpreplayrc" ແມ່ນຊອກຫາຢູ່ໃນໄດເລກະທໍລີນັ້ນ.
ລາຍເຊັນ
tcpreplay ເຂົ້າໃຈສັນຍານຕໍ່ໄປນີ້:
SIGUSR1 ຢຸດການຫຼິ້ນ tcpreplay
ສັນຍາລັກ ຣີສະຕາດ tcpreplay
ໃຊ້ tcpreplay-edit ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net