
Ende-zu-Ende verschlüsselte Server-Client-Chat-Anwendung mit adaptiven Verschlüsselungsmodi, Multimedia-Unterstützung und Gruppenchat, aufgebaut auf Python-Socket-Programmierung.
Willkommen bei CryptoChat – wo Unterhaltungen wirklich privat bleiben. Unsere Anwendung, die auf dem robusten Python-Ökosystem basiert, stellt sicher, dass jedes von Ihnen gesendete Wort in mehrere Verschlüsselungsschichten gehüllt ist. Egal, ob Sie vertrauliche Geschäftsdetails besprechen oder persönliche Geschichten teilen, CryptoChat bietet den Rückzugsort, den Sie im digitalen Zeitalter benötigen. Tauchen Sie ein und erleben Sie die nächste Stufe sicherer Nachrichtenübermittlung!
Klonen Sie das Repository:
git clone https://github.com/HalilDeniz/CryptoChat.git
Wechseln Sie in das Projektverzeichnis:
cd CryptoChat
Installieren Sie die erforderlichen Abhängigkeiten:
pip install -r requirements.txt
$ python3 server.py --help
usage: server.py [-h] [--host HOST] [--port PORT] [--loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [--logfile LOGFILE]
Start the chat server.
options:
-h, --help show this help message and exit
--host HOST The IP address to bind the server to. (Default: 0.0.0.0)
--port PORT The port number to bind the server to. (Default: 12345)
--loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL}
Set the logging level (Default: INFO)
--logfile LOGFILE Set the log file name. (Default: server.log
--------------------------------------------------------------------------
$ python3 client.py --help
usage: client.py [-h] [--host HOST] [--port PORT]
Connect to the chat server.
options:
-h, --help show this help message and exit
--host HOST The server's IP address.
--port PORT The port number of the server.
$ python3 serverE.py --help
usage: serverE.py [-h] [--host HOST] [--port PORT] [--key KEY] [--loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [--logfile LOGFILE]
Start the chat server.
options:
-h, --help show this help message and exit
--host HOST The IP address to bind the server to. (Default=0.0.0.0)
--port PORT The port number to bind the server to. (Default=12345)
--key KEY The secret key for encryption. (Default=mysecretpassword)
--loglevel {DEBUG,INFO,WARNING,ERROR,CRITICAL}
Set the logging level (Default: INFO)
--logfile LOGFILE Set the log file name. (Default: server.log)
--------------------------------------------------------------------------
$ python3 clientE.py --help
usage: clientE.py [-h] [--host HOST] [--port PORT] [--key KEY]
Connect to the chat server.
options:
-h, --help show this help message and exit
--host HOST The IP address to bind the server to. (Default=127.0.0.1)
--port PORT The port number to bind the server to. (Default=12345)
--key KEY The secret key for encryption. (Default=mysecretpassword)
--help : Zeigt diese Hilfemeldung an und beendet das Programm.--host : Die IP-Adresse, an die der Server gebunden werden soll.--port : Die Portnummer, an die der Server gebunden werden soll.--key : Der geheime Schlüssel für die Verschlüsselung.--loglevel: Legt die Protokollierungsebene fest.--logfile : Legt den Namen der Protokolldatei fest.python3 clientE.py
Enter your username: deniz
Help Menu:
/help -> Help menu
deniz: Enter your message: /help
deniz: Enter your message:
Help Menu:
/help -> Help Menu
/exit -> Exit the program.
/clear -> Clear the chat screen.
/userlist -> View the list of connected users.
/dm [user] [message] -> Send a direct message to a user.
/changeuser [new_username] -> Change your username.
deniz: Enter your message:
Ich habe ein Tool zum Lauschen geschrieben, um zu überprüfen, ob die verschlüsselte Nachrichtenübermittlung korrekt funktioniert
└─# python3 SCsniff.py
IP Packet: Source IP=127.0.0.1, Destination IP=127.0.0.1
TCP Packet: Source Port=12345, Destination Port=50968
Raw Data: b'gAAAAABlOlxawZboULf0WJkQQkzVwJKLXbGh3qyxWYbaCqNhi5xLwhR9YdckSiPiPQCkWHHGSzKAKG5pW3HyatQnpekoR0Zl-_DH-WH_azjGm86QGW1PRnE='
--------------------------------------------------
IP Packet: Source IP=127.0.0.1, Destination IP=127.0.0.1
TCP Packet: Source Port=12345, Destination Port=50968
Raw Data: b'gAAAAABlOlxawZboULf0WJkQQkzVwJKLXbGh3qyxWYbaCqNhi5xLwhR9YdckSiPiPQCkWHHGSzKAKG5pW3HyatQnpekoR0Zl-_DH-WH_azjGm86QGW1PRnE='
--------------------------------------------------
IP Packet: Source IP=127.0.0.1, Destination IP=127.0.0.1
TCP Packet: Source Port=50968, Destination Port=12345
--------------------------------------------------
TCP Packet: Source Port=42228, Destination Port=12345
Raw Data: b'gAAAAABlOlyHDfYapDc2kawoEjNozSJybZBk0SxZwMiE2_x9OffGGc-NlaB3FHJue6jY3rQbBKseCkDATpnBgJRxLJQA6heDlw=='
--------------------------------------------------
IP Packet: Source IP=127.0.0.1, Destination IP=127.0.0.1
TCP Packet: Source Port=42228, Destination Port=12345
Raw Data: b'gAAAAABlOlyHDfYapDc2kawoEjNozSJybZBk0SxZwMiE2_x9OffGGc-NlaB3FHJue6jY3rQbBKseCkDATpnBgJRxLJQA6heDlw=='
--------------------------------------------------
IP Packet: Source IP=127.0.0.1, Destination IP=127.0.0.1
TCP Packet: Source Port=12345, Destination Port=42228
Raw Data: b'gAAAAABlOlyHyCO4dV50WtplQ8eZxbH8d9xuL04iGsrbjhU-oFlguaaig0vjRd7GVvLiBm5Js6kFYHpc6esuTkDrmabq-k1DdSrlEHOgvdaMotxMMg5KEL8='
--------------------------------------------------
IP Packet: Source IP=127.0.0.1, Destination IP=127.0.0.1
TCP Packet: Source Port=12345, Destination Port=42228
Raw Data: b'gAAAAABlOlyHyCO4dV50WtplQ8eZxbH8d9xuL04iGsrbjhU-oFlguaaig0vjRd7GVvLiBm5Js6kFYHpc6esuTkDrmabq-k1DdSrlEHOgvdaMotxMMg5KEL8='
--------------------------------------------------
IP Packet: Source IP=127.0.0.1, Destination IP=127.0.0.1
TCP Packet: Source Port=42228, Destination Port=12345
Raw Data: b'gAAAAABlOlyPKyzTR_-1LFSNLtBCR5sghmont3299N9QWrQhHXzwo1Y-toax3Xh4f3PQ5cG-8QuOpM9ApGFoxkVGbpH4Bfhy9iYduQgwYy59kChiGwIQ1rI='
--------------------------------------------------
IP Packet: Source IP=127.0.0.1, Destination IP=127.0.0.1
TCP Packet: Source Port=42228, Destination Port=12345
Raw Data: b'gAAAAABlOlyPKyzTR_-1LFSNLtBCR5sghmont3299N9QWrQhHXzwo1Y-toax3Xh4f3PQ5cG-8QuOpM9ApGFoxkVGbpH4Bfhy9iYduQgwYy59kChiGwIQ1rI='
--------------------------------------------------