mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-11-27 23:11:09 +00:00
basic client-server implementation
This commit is contained in:
parent
ca5c6f268a
commit
621192998e
43
server.py
43
server.py
|
@ -1,43 +0,0 @@
|
||||||
# all imports - including #s
|
|
||||||
import socket
|
|
||||||
#import os
|
|
||||||
#import sys
|
|
||||||
#import subprocess
|
|
||||||
# end of imports
|
|
||||||
# the below classes will clarify what information is for the attacker and client
|
|
||||||
class Termrequire:
|
|
||||||
host = socket.gethostname()
|
|
||||||
port = 3333 # fake numeral for the moment
|
|
||||||
class Clientrequire:
|
|
||||||
host = socket.gethostname()
|
|
||||||
port = 2222 # fake numeral for the moment
|
|
||||||
#CORE REQUIREMENTS OF PROGRAM:
|
|
||||||
### host ip = server ip
|
|
||||||
### potential connection hosts info (host, port)
|
|
||||||
### user.config
|
|
||||||
### user.config
|
|
||||||
# using SERVER for connections and linux meterpreter sessions
|
|
||||||
# SERVER DETAILS:
|
|
||||||
#5 client availability for pivoting #although that is not yet available in a regular form of
|
|
||||||
#exploitation - we have to go with what we have.
|
|
||||||
|
|
||||||
# #learnmore - USER_CONFIG
|
|
||||||
# server ip will be displayed every connection at version 2.0
|
|
||||||
# terminal attacker socket object creation
|
|
||||||
t = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
||||||
# terminal attacker socket binding
|
|
||||||
t.bind()
|
|
||||||
# terminal attacker socket listen
|
|
||||||
t.listen()
|
|
||||||
# client socket object creation
|
|
||||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
||||||
# binding information with s.bind method
|
|
||||||
s.bind()
|
|
||||||
#listening for connections with s.listen method
|
|
||||||
s.listen(1)
|
|
||||||
# server_functionality waits for terminal shell and then gets client information connectivity
|
|
||||||
def func4client():
|
|
||||||
s.accept()
|
|
||||||
# terminal functionality for attacker - I will definitely customize it soon. Maybe tkinter?
|
|
||||||
def func4term():
|
|
||||||
t.accept()
|
|
6
simple-client-server/README.md
Normal file
6
simple-client-server/README.md
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# simple client server
|
||||||
|
|
||||||
|
#### Note:
|
||||||
|
- Run **`server.py`** first.
|
||||||
|
- Now, run **`client.py`**.
|
||||||
|
- verify the output.
|
14
simple-client-server/client.py
Normal file
14
simple-client-server/client.py
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# client.py
|
||||||
|
|
||||||
|
import socket
|
||||||
|
|
||||||
|
HOST, PORT = '127.0.0.1', 1400
|
||||||
|
|
||||||
|
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
|
s.connect((HOST, PORT))
|
||||||
|
|
||||||
|
s.send(b'Hello World')
|
||||||
|
data = s.recv(1024)
|
||||||
|
|
||||||
|
s.close()
|
||||||
|
print(repr(data.decode('ascii')))
|
21
simple-client-server/server.py
Normal file
21
simple-client-server/server.py
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
# server.py
|
||||||
|
|
||||||
|
import socket
|
||||||
|
|
||||||
|
HOST, PORT = '127.0.0.1', 1400
|
||||||
|
|
||||||
|
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
|
s.bind((HOST, PORT))
|
||||||
|
s.listen(1)
|
||||||
|
|
||||||
|
conn, addr = s.accept()
|
||||||
|
|
||||||
|
print('connected to:', addr)
|
||||||
|
|
||||||
|
while 1:
|
||||||
|
data = conn.recv(1024)
|
||||||
|
if not data:
|
||||||
|
break
|
||||||
|
conn.send(data + b' [ addition by server ]')
|
||||||
|
|
||||||
|
conn.close()
|
Loading…
Reference in New Issue
Block a user