Hey,<p>I am the author of "what" and am very happy to hear people like this tool I made. :)<p>"what" was my first real attempt at rust, and I love the project very much.<p>That said, it is a hobby project - and so I will likely be a few days responding to all issues and contributions that came from this thread.<p>"what" has already received some great contributions that are major parts of the code base. I would be very happy for more (in the form of features, bug fixes, issues and packaging).<p>A note to those having issues installing: as mentioned in this thread, packaging for all the various linux distributions and mac is a great effort. I apologize that at the moment the installation is a little bumpy (especially for those not very familiar with rust).<p>A good first step for if "cargo install what" isn't working is to try to `rustup update` so you get the latest version of rust and cargo.<p>Other than that, I hope to support your setup in the future, and/or hear from you in the issues of the repo. Debug help for OSes I do not have access to would be greatly appreciated. :)<p>Thank you all!
Bad naming..<p><pre><code> WHAT(1) BSD General Commands Manual WHAT(1)
NAME
what -- show what versions of object modules were used to construct a file
</code></pre>
(MacOS ...)
Name has changed to "bandwhich" as suggested here: <a href="https://old.reddit.com/r/rust/comments/ehl68y/what_a_terminal_tool_to_check_what_is_taking_up/fckesmm/" rel="nofollow">https://old.reddit.com/r/rust/comments/ehl68y/what_a_termina...</a>
Installation with yay/crate can be slow. This small tool took 4 minutes of compile time, the Rust crates seem to be very fine granular (like node.js vor example) and require much compile time. 204 crates needed to be compiled.<p>I found that, using yay or another aur helper on arch linux, having a few rust utilities installed that have regular updates, significantly slows down the average system upgrade time. I tend to avoid Rust programs for that reason.
A bit unrelated but I wrote <a href="https://github.com/amir/hepccn" rel="nofollow">https://github.com/amir/hepccn</a> to list TCP connections by domains rather than just IPs. It filters connections to port 443 and 8443, downloads the peer certificate and then extracts the subject name (pretty sure I learned this trick from an article on Julia Evans' website but can't find it now). I wanted to add more functionalities to it but I stumbled upon an issue and that's for when SNI is enabled. I guess there's no way for me to recover the hostname the client has sent at the start of the handshaking process without introducing MITM, right?
I find the --raw output more useful than the interactive one. it scrolls away but I have time to read what's going on. The other one just disappears and is replaced by something else, which could be ok except sometimes there are seconds of useless black screen when nothing is going on. I suggest to never have blank screens.
A suggestion for the raw output: add a timestamp at the beginning of the line. Probably HHMMSS is enough but YYYYmmdd would be handy for logging in background.
Getting an error:<p><pre><code> .cargo/registry/src/github.com-1ecc6299db9ec823/bytes-0.5.3/src/bytes.rs:121:18
|
121 | len: bytes.len(),
| ^^^^^^^^^^^
error: aborting due to previous error
error: Could not compile `bytes`.
warning: build failed, waiting for other jobs to finish...</code></pre>
Thank you this is amazing. I have a bunch of virtual interfaces on my server and I have no idea what's using them or if they're even still in use what created them. This solved my problem instantly.
I'll take this moment to plug the tool 'origin', which plows through aliases and symlinks to find the executable behind a command: <a href="https://github.com/atorstling/origin" rel="nofollow">https://github.com/atorstling/origin</a>
Why do I need cargo to install on mac? (It would be nice to have a link to install)<p><i>Updated</i> To install run: curl <a href="https://sh.rustup.rs" rel="nofollow">https://sh.rustup.rs</a> -sSf | sh
Thank god for the name change! I saw this project this morning and it looked super interesting. I tried googling around for it to install it, but nothing worked haha "bandwith monitor what", "github rust what", etc. And this is coming from a hypocrite who's most popular project is named 'c'.<p>Bandwhich is a clever and easy to find name!
Running Catalina, with sudo I'm able to get the screen up and running, but at first data I get a panic:<p>thread 'display_handler' panicked at 'overflow when subtracting durations', src/libcore/option.rs:1185:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
Looking at how it does reverse DNS lookups to try and map backwards... is there such thing as a crowdsourced database that resolves the most common domain name(s) that <i>resulted</i> in a given IP address? Seems like this would be tremendously useful for any sort of network tooling, but I can’t find any references from a quick search.
Very nice. I dream of the day our networking instrumentation is good enough that when I click on a link and my browser hangs doing nothing, I can switch to my monitor app and have it tell me exactly where the route is failing.
For some reason (possibly security limitations) it doesn't seem to be able to
monitor connections over a WireGuard connection's tunX interface.
Is this the future? I am setting this up on my macOS, and before I could 'cargo add' anything I had to 'brew install rust'. Now it is downloading and compiling lots and lots of dependencies.