0
我嘗試使用python套接字發送字符Y並輸入後但是當我捕獲wireshark時,我發現它錯誤。爲什麼? 在Python代碼:爲什麼在發送字符串並關閉套接字後出現TCP RST數據包
import socket
import re
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_address = (('pwnable.kr', 9009))
sock.connect((server_address))
b=sock.recv(2048) # I must use 2 sock.recv then recv full text
print b
b=sock.recv(2048)
print b
b=re.findall("Y/N",b)
print b
#sock.recv(1024)
if b[0]=="Y/N":
print "OK"
sock.send(("Y"+"\r\n").encode())
b=sock.recv(1024)
Wireshark的捕獲: 如何發送字符串,然後輸入? 使用多個sock.recv影響任何東西?
UPDATE1: 我想打印最近B,它應該是
Enter 1 to Begin the Greatest Game Ever Played.
Enter 2 to See a Complete Listing of Rules.
Enter 3 to Exit Game. (Not Recommended)
Choice:
但我收到空列表。 我的代碼:
import socket
import re
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_address = (('pwnable.kr', 9009))
sock.connect((server_address))
b=sock.recv(2048)
print b
b=sock.recv(2048)
print b
b=re.findall("Y/N",b)
print b
#sock.recv(1024)
if b[0]=="Y/N":
print "OK"
sock.send(("Y"+"\r\n").encode())
b=sock.recv(1024)
print b
sock.close()
你認爲你得到的錯誤究竟是什麼?那Wireshark捕獲看起來像你的程序做了你想要的。如果問題是''。[2J。[1; 1H''字符串,這些是用於清除屏幕的ANSI控制代碼(Wireshark將字符呈現爲點)。 –
jasonharper
而當我使用wireshark,它有1紅色的最後一行,這是錯誤? –