really? i have to use procman and associated utilities often and they really pale in comparison with linux and even moreso other unix utils (like dtrace)
Well, true, but I'm not in a position to understand what that means. I remember talks about dtrace in Linux way back when and something about how "it's not the same thing, you have to add support in all of userspace which is not there" or something like that.
dtrace is more comparable to ETW in windows land. Procmon is more for quick and dirty analysis. Maybe there are other *nix tools that are more appropriate, but I look forward to trying this one out.
yes. I work with ancient and opaque tools that dont have good debugging / reporting facilities. Often we have to jump into procmon or whatever see why the heck the thing is stuck. something like strace is native and everywhere and you can sus out easily - hey this proc is trying to open this thing over and over.
procmon is cool, but i have found it limited when the program isnt doing anything 'obvious', and also that i have to download it and run it from the web is a problem when debugging on client systems.
really? One of the things I miss when using linux is resmon. I have not found anything that has even remotely the same functionality. For example seeing which process is using which files.
This can trace all processes on the host while strace traces one PID and its descendants. And bpf tracing does not stop processes at each syscall, so they run without slowdowns.
They have one of the largest Linux user base out there in Azure. They have their own distro. My favorite Linux memory forensics tool (AVML) is made by them. Sysmon for Linux uses eBPF which makes it a tad-bit more powerful than auditd,etc..
This project is from 2020 [1]. The title should actually be updated to reflect that.
Also we would have really go full circle if they used GPLv3 as the license :)
The sysinternals guys (Mark Russinovich and Bryce Cogswell) and code, at least most of it, existed independently of microsoft for many years. It was great. So great MS bought it and brought it and them inside. Russinovich is CTO of Azure now or something. So sysinternals is now random MS hires but I like to think it's still not really a microsoft product, just owned and mantained by them.
I was a windows user till XP came out and I've missed sysinternals tools. I'm going to enjoy this on my newer kernel machines. Seems to require some pretty cutting edge features.
Tangent: Mark Russinovich (Jun 20, 2025): “I had the thrill of a lifetime, hosting dinner for Bill Gates, Linus Torvalds and David Cutler. Linus had never met Bill, and Dave had never met Linus.“
It was truly great for Windows, no doubt about that.
Now, is it great for Linux? Absolutely not. These tools existed to vaguely resemble the capabilities we have had on *nix for decades and I'm not sure what kind of value could they bring back to Linux... like, really, what? A different, Microsoft-style optics to look at processes?
If this works remotely as well as the Windows version, I'm stoked. Polling for information (like with lsof) really rubs me the wrong way.
Check out sysdig.
really? i have to use procman and associated utilities often and they really pale in comparison with linux and even moreso other unix utils (like dtrace)
Windows Server 2025 supports dtrace out of the box: https://learn.microsoft.com/en-us/windows-server/administrat...
This really is the weirdest timeline…
But is it like the "real" dtrace or is like how PowerShell wget isn't actually wget but an alias for Invoke-WebRequest?
Two seconds of investigation yields that it is a port of dtrace.
https://learn.microsoft.com/en-us/windows-hardware/drivers/d...
Well, true, but I'm not in a position to understand what that means. I remember talks about dtrace in Linux way back when and something about how "it's not the same thing, you have to add support in all of userspace which is not there" or something like that.
dtrace is more comparable to ETW in windows land. Procmon is more for quick and dirty analysis. Maybe there are other *nix tools that are more appropriate, but I look forward to trying this one out.
Care to expand on that? I'm similarly just forced to use Linux and its tooling ecosystem, so decent chances I'm simply missing what's cool/cooler.
yes. I work with ancient and opaque tools that dont have good debugging / reporting facilities. Often we have to jump into procmon or whatever see why the heck the thing is stuck. something like strace is native and everywhere and you can sus out easily - hey this proc is trying to open this thing over and over.
procmon is cool, but i have found it limited when the program isnt doing anything 'obvious', and also that i have to download it and run it from the web is a problem when debugging on client systems.
really? One of the things I miss when using linux is resmon. I have not found anything that has even remotely the same functionality. For example seeing which process is using which files.
There’s multiple tools.
For your stated issue, see lsfd
https://www.man7.org/linux/man-pages/man1/lsfd.1.html
You can do that with sysdig.
does this provide telemetry not available with strace?
And is the output csv/logfile compatible with the windows equivalent? If so, that'd be amazing! tools like procdot can analyze/visualize the data:
https://procdot.com/
This can trace all processes on the host while strace traces one PID and its descendants. And bpf tracing does not stop processes at each syscall, so they run without slowdowns.
I think auditd can trace all syscalls system wide and let you filter as well. But it is a daemon whereas this is a tool you can run and interact with.
How is this different from using 'htop' and pressing 's' to strace a process?
This is not microsofty enough.
I mean it.
strace is not available on macOS
I'm not sure how that is relevant on a piece about "a Linux version of a tool"
My bad, for some reason I thought it was about macOS rather than Linux. Procmon actually doesn’t even support macOS: https://github.com/microsoft/ProcMon-for-Linux/issues/37
This feels like a TUI front-end for strace, but I'm not complaining. This I think will come in handy.
Though interestingly, seems to use its own eBPF library
This is great but it's kinda sad the INSTALL.md file was updated 2 months ago and it still doesn't work. Won't anyone report these issues?
Go on and be the one that reports it ;)
I will as soon as I get home from work lol.
I wonder why the project needs both GCC and Clang to build, usually it's one or the other.
Is it more a "collection of tools held together by a common frontend" or a unified product?
If it's a collection, I can see the individual pieces needing various compilers.
I wonder what the goals of this project. Why does it exist?
Expect Microsoft to come out with more Linux tools. The demand, interest, and requests are likely to only increase.
They have one of the largest Linux user base out there in Azure. They have their own distro. My favorite Linux memory forensics tool (AVML) is made by them. Sysmon for Linux uses eBPF which makes it a tad-bit more powerful than auditd,etc..
If you can't beat'em join'em!
I guess they managed to get rid of the foot
http://mslinux.org/
This project is from 2020 [1]. The title should actually be updated to reflect that. Also we would have really go full circle if they used GPLv3 as the license :)
[1] https://github.com/microsoft/ProcMon-for-Linux/blob/main/LIC...
One can browse from https://learn.microsoft.com/en-gb/linux/packages to see what is already there.
I remember Steve Ballmer's Microsoft well enough to know to never touch anything Microsoft for Linux.
(All: feel free to downvote my neckbeard comment because I'm obviously in the wrong here)
Yep, right there with you.
Requirements OS: Ubuntu 18.04 lts
It's quite limited for an auditing tool...
Looks like btop but M$.
The sysinternals guys (Mark Russinovich and Bryce Cogswell) and code, at least most of it, existed independently of microsoft for many years. It was great. So great MS bought it and brought it and them inside. Russinovich is CTO of Azure now or something. So sysinternals is now random MS hires but I like to think it's still not really a microsoft product, just owned and mantained by them.
I was a windows user till XP came out and I've missed sysinternals tools. I'm going to enjoy this on my newer kernel machines. Seems to require some pretty cutting edge features.
Tangent: Mark Russinovich (Jun 20, 2025): “I had the thrill of a lifetime, hosting dinner for Bill Gates, Linus Torvalds and David Cutler. Linus had never met Bill, and Dave had never met Linus.“
https://www.linkedin.com/posts/markrussinovich_i-had-the-thr...
The phrasing implies that meeting someone is not bi-directional.
It was truly great for Windows, no doubt about that.
Now, is it great for Linux? Absolutely not. These tools existed to vaguely resemble the capabilities we have had on *nix for decades and I'm not sure what kind of value could they bring back to Linux... like, really, what? A different, Microsoft-style optics to look at processes?
Awesome you knew their names! I have connected with Bryce through his development of Go Map!! For open street maps.
They are celebs in windows security. Mark's name is synonymous with windows internals, he wrote the definitive textbook.
And he also is the one that uncovered the Sony CD rootkit fiasco.
Darn I'm getting old.