====== Netzwerkprogrammierung ====== ===== C ===== * [[http://beej.us/guide/bgnet/html/multi/index.html|Beej's Guide to Network Programming]] * [[https://www.ibm.com/developerworks/library/l-sockpit/index.html|Five pitfalls of Linux sockets programming]] * [[http://www.tcpdump.org/pcap.html|Programming with pcap]] * [[http://blog.ipspace.net/2009/08/what-went-wrong-socket-api.html|Ivan Pepelnjak: What went wrong: the Socket API]] * [[http://blog.ipspace.net/2009/08/what-went-wrong-tcpip-lacks-session.html|Ivan Pepelnjak: What went wrong: TCP/IP lacks a session layer]] * [[https://loicpefferkorn.net/ipdecap/|Protokoll-Encapsualation aus pcap-Dateien entfernen]] * [[http://www.catb.org/esr/structure-packing/|The Lost Art of C Structure Packing]] * [[http://www.avrfreaks.net/forum/tut-c-bit-manipulation-aka-programming-101?name=PNphpBB2&file=viewtopic&t=37871|Bit Manipulation]] * [[https://learn.microsoft.com/de-de/windows/win32/winsock/porting-socket-applications-to-winsock|Portieren von Socketanwendungen zu Winsock]] * [[prog:dies_und_das|Dies und das...]] ===== Java ===== * http://www.tutorialspoint.com/java/java_networking.htm * http://www.cise.ufl.edu/~amyles/tutorials/tcpchat/ ===== Python ===== * [[prog:python:networking|Python-Networking]] * [[https://docs.python.org/2/library/socket.html|Socket-Library - Python 2]] * [[https://docs.python.org/2/library/urllib.html|URL-Library - Python 2]] * https://www.dinotools.de/2015/04/12/mqtt-mit-python-nutzen/ * https://pypi.python.org/pypi/paho-mqtt \\ pip install paho-mqtt Allgemeine Tipps zu [[prog:python|Python]] ===== Bibliotheken für die Implementierung eigener Datenprotokolle ===== * http://troydhanson.github.io/tpl/userguide.html#tpl_pack * https://developers.google.com/protocol-buffers/ ===== Bibliotheken für Sicherheitsfunktionen ===== ==== TLS Lite ==== TLS Lite is an open source python library that implements SSL and TLS. TLS Lite supports RSA and SRP ciphersuites. https://github.com/trevp/tlslite ==== NaCL ==== NaCl (pronounced "salt") is a easy-to-use high-speed software library for network communication, encryption, decryption, signatures, etc. NaCl's goal is to provide all of the core operations needed to build higher-level cryptographic tools. * https://nacl.cr.yp.to ==== Vergleich verschiedener Krypto-Bibliotheken ==== * https://en.wikipedia.org/wiki/Comparison_of_cryptography_libraries ==== Authenticated Key Exchange ==== * http://crypto.stackexchange.com/questions/8957/what-current-authenticated-key-exchange-standards-exist ===== Internet Protokolle ===== * http://www.heise.de/developer/artikel/Internet-Protokolle-Teil-2-Anwendungsprotokolle-im-Vergleich-2632571.html?view=print ==== Broadcast ==== * http://www.tack.ch/multicast/broadcast.shtml ==== Multicast ==== * [[https://docs.oracle.com/cd/E19455-01/806-1017/auto2/index.html|Receiving IPv6 Multicast Datagrams]] ===== Posix-Threads ===== * https://www.risc.jku.at/people/schreine/papers/rt++-linuxmag1/main.html#12 * https://computing.llnl.gov/tutorials/pthreads/ * http://www.ijon.de/comp/tutorials/threads/index.html * http://timmurphy.org/2010/05/04/pthreads-in-c-a-minimal-working-example/ * http://www.yolinux.com/TUTORIALS/LinuxTutorialPosixThreads.html ===== Verschiedenes ===== ==== Herausfinden, welcher Prozess einen bestimmten Port benutzt ==== sudo netstat -lpn |grep :8080 ==== UDP-Pakete per Kommandozeile senden ==== echo -n "hello" >/dev/udp/localhost/8000 * http://stackoverflow.com/questions/9696129/how-to-send-only-one-udp-packet-with-netcat ==== Linux/Unix Layer-4-Ports ==== * https://www.cyberciti.biz/faq/linux-unix-open-ports/