bpf echo
1.0.0
bpf-echo เป็นเซิร์ฟเวอร์ TCP & UDP echo ที่รวดเร็วอย่างเห็นได้ชัด ซึ่งรองรับการรับส่งข้อมูล IPv4 และ IPv6 การใช้งานนี้ใช้ประโยชน์จาก Berkeley Packet Filter และ BPF Compiler Collection ที่ขยายเพิ่ม เพื่อเปลี่ยนเส้นทางแพ็กเก็ตขาออกตรงกลับไปยังคิวการรับของซ็อกเก็ตการส่ง เหมาะอย่างยิ่งสำหรับการเปรียบเทียบพร็อกซีเซิร์ฟเวอร์หรือไลบรารีเครือข่าย ซึ่งคุณต้องการให้แน่ใจว่าเซิร์ฟเวอร์อัปสตรีมไม่ใช่ปัญหาคอขวด
ข้อกำหนดสำหรับการรัน bpf-echo
คือ:
pip3 install pyroute2
python3-bpfcc
ในที่เก็บแพ็คเกจ Ubuntu ตรวจสอบ INSTALL.md ของ bcc สำหรับรายละเอียดเพิ่มเติม4.1
$ sudo ./bpf-echo --ipv4 127.0.0.1 --port 1122 # run in different terminal
$ echo "hello" | nc -W1 127.0.0.1 1122
hello
usage: bpf-echo.py [-h] [--ipv4 IPV4] [--ipv6 IPV6] [--port PORT]
[--ifname IFNAME]
optional arguments:
-h, --help show this help message and exit
--ipv4 IPV4 IPv4 address that will reflect packets. Disabled if empty
string. (default: 127.0.0.1)
--ipv6 IPV6 IPv6 address that will reflect packets. Disabled if empty
string. (default: )
--port PORT TCP/UDP destination port that will reflect packets.
(default: 12345)
--ifname IFNAME Interface the eBPF classifier will be loaded on. (default:
lo)
การใช้งาน BPF ค่อนข้างง่าย และดังนั้นจึงมีข้อเสียบางประการ: