我有这种catch-the-flag分配,我需要连接到服务器和端口,接收数据,提取此数据中给出的数字并重新发送。我猜我需要继续这样做,直到有一面旗帜到来。
我尝试过使用python套接字(我几乎不理解),并提出了这段代码:
import socket
import re
#AF_INET for IPv4, SOCK_STREAM for TCP
clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Tell the socket what IP and port number to connect to
clientsocket.connect(('35.157.111.68', 10172))
while 1:
# Recieve 1024 bytes of data.
data = clientsocket.recv(1024)
if not data: break
# Get only numbers from string
data = re.sub('\D',"", data)
# Send our result to the server.
clientsocket.send(str(data))
它正在建立连接并接收数据,但是当它发回数字时,它不能正确接受它并且它只进行一轮(不循环)。