2
我有4個人的外部IP。我想連接到他們的IP並從服務器獲得響應。這很奇怪,因爲對於每一個4,tcp協議上的端口都不會連接,但udp協議上的每個端口對於我自己的IP來說都不一樣。Python - 連接到隨機IP並嘗試從服務器獲得響應
import socket, sys
socket.setdefaulttimeout(8.5)
del sys.argv[0]
def connect_send_receive(host, port):
try:
s = socket.socket((socket.AF_INET, socket.SOCK_DGRAM) #On the Tcp protocol, no single port would connect to one of these 4 addresses.
s.connect((host, port))
s.send("I want you to dammit respond me something") #packet request says it all.
s.recv(1024) #Server response with nothing. Error here.
except:
print("No response")
for connect in sys.argv:
connect_send_receive(connect, 80)
我的問題很清楚。 1.如何讓服務器給我一個迴應,然後。 2.爲什麼在4個隨機的人中,我只能與udp協議連接。我嘗試了tcp上的每個端口,但沒有連接,爲什麼我自己即使使用不同的IP,也可以使用tcp協議連接到自己。
注意:Http請求不在這4個IP上工作。
嘗試使用更簡單的程序,如telnet或nc來查看您嘗試使用的端口是否工作。也許這是一個防火牆問題。 – 2014-10-04 11:08:27
爲什麼*應該*任意主機在隨機端口上接受連接?你知道這些端口中的任何一個是開放的,或者你爲什麼期待響應? – 2014-10-04 11:10:57
我使用了端口掃描儀。 「因此」這4個IP沒有TCP協議端口,但是在udp協議中,範圍內的每個數字(1,10000)都是開放端口。 – Shane 2014-10-04 11:11:02