Python ile TCP Socket Üzerinden Hex Code Gönderimi

Bir projede kullanmak üzere tcp socket üzerinden hex kodu gönderimi ve dönen cevabın alınmasına gerek oldu.

Burada kodun yaptığı iş bir txt dosyasından ascii formatındaki bilgileri alarak, hex formatına çevirmesi ve ardından bu bilgilerin karşıdaki sunucunun ilgili portuna gönderilmesidir. Karşı taraftaki sunucudan dönen cevap  reply komutuna atanmakta ve dönen cevap yazdırılmaktadır.


import sys
import socket

def client(elems):
try:
for i in range(1, 3):
HOST, PORT = '192.168.10.1', 2025
# SOCK_STREAM == a TCP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#sock.setblocking(0)  # optional non-blocking
sock.connect((HOST, PORT))

print "%s" % (list[i-1].strip().decode("hex"))
print "sending data => %s" % (list[i-1].strip().decode("hex"))
sock.send(list[i-1].strip().decode("hex"))
reply = sock.recv(16384)  # limit reply to 16K
return reply

except Exception as msg:
print msg
sock.close()

#########################################################

if __name__ == "__main__":
fo = open("commands_ascii.txt", "rw+")
list=[]
for index in iter(fo):
list.append(index)

for line in range(0,2):
client('%s' % list[line])

Leave a Reply