Code 4
#server.py
import socket
from ch import ip_checksum
s=socket.socket()
s.bind(('',9999))
s.listen(1)
x,_=s.accept()
m=x.recv(1024)
msg,cs=m.rsplit(b'|',1)
print("Received:",msg)
print("Received checksum:",cs.decode())
print("Verification:",'OK' if hex(ip_checksum(msg))==cs.decode() else 'Error')
x.close()
s.close()
#client.py
import socket
from ch import ip_checksum
s=socket.socket()
s.connect(('localhost',9999))
m=b"Hello"
cs=hex(ip_checksum(m))
s.send(m+b'|'+cs.encode())
s.close()
#ch.py
def ip_checksum(d):
s=0
for i in range(0,len(d),2):
w=(d[i]< < 8)+(d[i+1] if i+1 < len(d) else 0) s=(s+w)&0xffff return (~s)&0xffff