====== 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/