Python 发送第二条TCP消息不需要';无法在服务器端识别/无反应,netcat工作正常
这是一项CTF准备任务,可在上找到 任务是计算所有偶数之和——所有非偶数之和 我解决了这个问题,但是当将应答消息发送到服务器时,它不会响应标志 但使用nc rkchals.fluxfingers.net 5002,可以发送第二条消息。 我的代码:Python 发送第二条TCP消息不需要';无法在服务器端识别/无反应,netcat工作正常,python,python-3.x,sockets,tcp,connection,Python,Python 3.x,Sockets,Tcp,Connection,这是一项CTF准备任务,可在上找到 任务是计算所有偶数之和——所有非偶数之和 我解决了这个问题,但是当将应答消息发送到服务器时,它不会响应标志 但使用nc rkchals.fluxfingers.net 5002,可以发送第二条消息。 我的代码: import socket import re #connection establishing s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.connect(("rkchals.fluxf
import socket
import re
#connection establishing
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("rkchals.fluxfingers.net",5002))
message = str(s.recv(3000))
#data processing
numbers= re.findall("\d+",message)
uneven_numbers=list()
even_numbers = list()
for i in numbers:
if(int(i)%2==0):
even_numbers.append(int(i))
else:
uneven_numbers.append(int(i))
answer = sum(even_numbers)-sum(uneven_numbers)
#log
print("server says: " + message + "\n")
print("numberarray is: " + str(numbers) + "\n")
print("even numbers are: " + str(even_numbers) + "\n")
print("odd numbers are: " + str(uneven_numbers) + "\n")
print("sum of even - sum of odd: " + str(answer) + "\n")
#sending the answer as string to get the flag
s.sendall(bytes(str(answer),"utf-8"))
print("flag is: " + str(s.recv(1024)))
最后,当我发送应答时,服务器会忽略它(?),因为最后一个命令应该给我该标志作为先前发送应答的结果
我应该更改什么以便服务器可以接收我的第二条消息
我试过:
超时(?)
我缺乏知识,在这里找不到答案。因为服务器应用程序需要输入,我只是在代码中添加了以下内容:
s.sendall(bytes(str(answer) + "\n","utf-8"))
然后,服务器会使用该标志正常响应