Ten post głównie zainteresuje adminów linuksowych, ale inni użytkownicy Linuksa także będą zadowoleni.
Wczoraj odkryłem ciekawy program, którego szukałem od lat :). Mowa o programie #termshark. Z wyglądu i funkcjonalności przypomina program na desktopa o nazwie #Wireshark.
Z opisu wynika, że obsługuje także inne platformy:
"A Protocol for Packet Network Intercommunication" by Vinton G. Cert and Robert E. Kahn
Published May 1974 in IEEE "Transactions on Communications" and including the definition of 16 bit port numbers, relative sequence numbers, buffering and retransmission based on window size and other flow control.
This week in my #SysAdmin class, we continue with networking.
We start on our box and strace/ktrace a simple telnet command to see how we even get to the point of #DNS resolution (/etc/nsswitch.conf, /etc/hosts, /etc/resolv.conf), then #tcpdump a simple HTTP request to observe:
#ARP / #NDP calls to find the default route and local resolver
@landley The reason I literally choose the latest released #Linux#Kernel is because this means I'll also be able to profit from latest features or at least fixes done to it.
Some old #longterm kernels don't even support #xz compression...
In terms of drivers beyond #floppinux I only want basics like #TCP / #IPv4, support for some old #3Com, #AMD, #Intel and #VIA NICs as well as /dev/ devices so I can use #cfdisk or at least #dd to shove something on a disk.
I guess I've to start @ allnoconfig.
After spending yesterday entirely by re-implementing #tcp in #userspace I now know:
TCP is weird
we have the PSH flag that completly makes the data ignore the TCP sending/recieve buffers and directly writes into the application's stream
ACK can be part of literally any other package; you also can SYN, FIN or PSH data while ACK'ing
zero-length data packages technically exist, but they dont do anything; they dont even wake up the FD when it's in a epoll
the #linux#kernel is funny: it responds with RST to incomming TCP packets, even on raw sockets; you'll need to drop them via #iptables if you want to implement TCP in userspace
Learned a lot! Now I can go on and create a few tests for #webservers; mainly SYN floodings and so on.
Jon Postel gilt als einer der Pioniere des Internets. Sein Tod vor 25 Jahren löste große Trauer aus. Das, was er geschaffen hat, prägt das Netz bis heute.
It's amazing and horrifying how many devs I speak to who don't realize how much #privilege their #infrastructure and #hardware reliability assumptions involve, or that their disregard of some things as inconsequential #DataLoss isn't a decision for them to make, it is for the user to determine the actual importance of anything lost from a malfunction.
They don't like that because it puts a much higher burden of care than they want to bother with.
Please keep in mind that my 139th Patreon subscriber will have the great benefit of putting "139th Patron of Low Quality Facts" on their resume. Employers will look at this and think "Oh wow, 139 is my favorite number. They must be a wonderful person. Let's put them on the payroll but not make them do any actual work, for our company will simply benefit from their wonderful presence". https://patreon.com/lowqualityfacts
@lowqualityfacts 139 was every '90s script kiddie's favorite number. The Winnuke attack required the victim to have an open #TCP port, and every #Windows95 machine had port 139 (#SMB file sharing protocol) open by default. So, connect to port 139, send some bogus packets, and boom, the victim's computer immediately goes #BSOD.
Anyone know of an #http parsing library or code for classic #macos? After decrypting a #SSL#TCP stream I’d love to shove it into a lib that can parse it all out and let me extract the relevant bits. I found HTTP sample code for OpenTransport but not sure if that’s right path. I may also not be thinking of the problem correctly but having fun experimenting and kinda don’t want to write it from scratch #RetroComputing#macintosh
»Each copy of an app using the core #Veilid library acts as a network node […] There are no special nodes, and there's no single point of failure. The project supports #Linux, macOS, Windows, Android, iOS, and web apps.
Veilid can talk over #UDP and #TCP, and connections are authenticated, timestamped, strongly end-to-end encrypted, and digitally signed to prevent eavesdropping, tampering, and impersonation.«
@huitema I saw your Quic to Mars, which I thought was interesting. I am not sure about relying on round trips on long links (to Mars or beyond), which tend to be strongly non-duplex, but I could see using in in cislunar space - i.e., LunaNet.
@huitema@TMEubanks
FYI -
Some quick tests over an emulated link, RTT = 2.564 s:
TCP on an old 2.6.32-100.34.1.el6uek.x86_64 Linux kernel, sack, cubic, no special tuning except max cwnd (tcp_rmem and tcp_wmem) = 32 Mbytes - single connection ramps up to 70 Mbps in 90 seconds.
With my TCP Perf Enhc Proxy (PEP) (designed for geo-sat) in the path - ramps up to 100 Mbps in 18 seconds.
Don't have a QUIC traffic generator on my server.