3 ms·
It makes calls into [C?] libraries that handle the actual networking. Not quite as impressive as I was hoping. "...in assembly" tends to make me think "implemen
by delinka 15y ago
It makes calls into [C?] libraries that handle the actual networking. Not quite as impressive as I was hoping. "...in assembly" tends to make me think "implemented completely and entirely in assembly." I know, not necessarily a common connotation, but that's how my brain works.
At any rate, my point is you can "glue" functions from libraries together in any high-level or low-level language you want and make whatever app you'd like. I'm having trouble seeing the novelty in writing the app in asm but letting the libs do the heavy (and perhaps less-optimized) lifting.
- ajross 15y agoIt's making (linux) system calls via a software interrupt. There's no integration that I see with anything above the kernel. But yes, I suppose it's "merely" gluing together straightforward system calls. A port scanner doesn't by itself have a lot of complicated logic.
- protopete 15y agoFrom the readme: "It uses Linux system calls to interface with the network stack, which makes the code unportable across platforms, but keeps it completely libc free." Were you expecting it to program the NIC directly? It's better to leave that up to the OS and drivers. I agree with you about the novelty of this app, despite the well-commented assembly code, it would be much shorter and more readable in C.
- grannyg00se 15y agoI agree. I immediately thought to myself "oh...networking in assembly...that's something I wouldn't mind taking a look at". But as usual I read the comments first and saw your comment. Thank you, now I will not bother following the link.
- tptacek 15y agoWhat'd you think it was going to do? Memory map I/O space and reimplement the ethernet drivers?