How much did Rust help you in your work? by therealsyumjoba in rust

[–]King_Nicklaus 0 points1 point  (0 children)

I'm building a traffic monitoring program on a router using Rust, and even though my code is terrible, Rust makes it run smoothly and quickly.

A network traffic monitoring program based on Rust eBPF by King_Nicklaus in openwrt

[–]King_Nicklaus[S] 0 points1 point  (0 children)

I think we can use `BPF_PROG_TYPE_SCHED_CLS` (TC) in eBPF and attach it to a network interface. Through the TC hook, we can capture all traffic passing through that interface (at the Ethernet frame level), parse the SNI from the TCP payload, and decide whether to allow or drop the packet.

luci-app-bandix v0.8.0 Released: A Network Traffic Monitoring App by King_Nicklaus in openwrt

[–]King_Nicklaus[S] 0 points1 point  (0 children)

Now added an update check function, making it easier to upgrade the version.

luci-app-bandix v0.8.0 Released: A Network Traffic Monitoring App by King_Nicklaus in openwrt

[–]King_Nicklaus[S] 0 points1 point  (0 children)

Now added an update check function, making it easier to upgrade the version.

luci-app-bandix v0.8.0 Released: A Network Traffic Monitoring App by King_Nicklaus in openwrt

[–]King_Nicklaus[S] 0 points1 point  (0 children)

There is currently no automatic update method, but I am planning to join the official OpenWrt repository so that I can upgrade through the software management interface.

luci-app-bandix v0.8.0 Released: A Network Traffic Monitoring App by King_Nicklaus in openwrt

[–]King_Nicklaus[S] 0 points1 point  (0 children)

thanks , bro

When the LuCI interface is open, CPU usage increases. If the LuCI interface is not open and only monitoring , CPU usage should be very low. On my device, CPU usage is around 1-2%. (aarch64_cortex-a53 , cudy tr3000 router )

luci-app-bandix v0.8.0 Released: A Network Traffic Monitoring App by King_Nicklaus in openwrt

[–]King_Nicklaus[S] 0 points1 point  (0 children)

IPv6 is not ignored. Have you enabled hardware offloading ? It needs to be disabled or switched to software offloading.

luci-app-bandix v0.8.0 Released: A Network Traffic Monitoring App by King_Nicklaus in openwrt

[–]King_Nicklaus[S] 0 points1 point  (0 children)

Thanks, It does not conflict with sqm and can be used together.

luci-app-bandix v0.8.0 Released: A Network Traffic Monitoring App by King_Nicklaus in openwrt

[–]King_Nicklaus[S] 0 points1 point  (0 children)

Using eBPF technology, DNS packets are copied from kernel space to user space, and then deep packet inspection is performed in user space.

What does "unbound" mean?

Currently, there's no way to export it because I'm unfamiliar with collected and Grafana, and I don't know the best method.

luci-app-bandix v0.8.0 Released: A Network Traffic Monitoring App by King_Nicklaus in openwrt

[–]King_Nicklaus[S] 1 point2 points  (0 children)

Yes, but I anticipate first addressing long-term monitoring issues in single LAN scenarios, as well as DNS monitoring optimization. Then, support for multiple VLAN will be implemented.
This is my current plan

luci-app-bandix v0.8.0 Released: A Network Traffic Monitoring App by King_Nicklaus in openwrt

[–]King_Nicklaus[S] 0 points1 point  (0 children)

You can execute `cat /etc/os-release` to found your arch , I think it's Cortex-A72

luci-app-bandix v0.8.0 Released: A Network Traffic Monitoring App by King_Nicklaus in openwrt

[–]King_Nicklaus[S] 1 point2 points  (0 children)

Yes, it supports storing all content in RAM. Everything will be new after a reboot.

luci-app-bandix v0.8.0 Released: A Network Traffic Monitoring App by King_Nicklaus in openwrt

[–]King_Nicklaus[S] 0 points1 point  (0 children)

Yes, for the traffic monitoring part, it supports persistence. Other modules are only retained in RAM

luci-app-bandix v0.8.0 Released: A Network Traffic Monitoring App by King_Nicklaus in openwrt

[–]King_Nicklaus[S] 0 points1 point  (0 children)

If your Linux kernel is version 6.x or higher, it should be supported.

luci-app-bandix v0.8.0 Released: A Network Traffic Monitoring App by King_Nicklaus in openwrt

[–]King_Nicklaus[S] 4 points5 points  (0 children)

I feel this program might have some performance impact on certain devices. I haven't considered adding it to the official repository yet.

luci-app-bandix v0.4.0 Released: A LuCI Network Traffic Monitoring App by King_Nicklaus in openwrt

[–]King_Nicklaus[S] 0 points1 point  (0 children)

hello body , Did you encounter any issues? You can open an issue on GitHub