V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
bpllzbh
V2EX  ›  Python

mac 上的服务如何让别的电脑访问?

  •  
  •   bpllzbh · 2018-06-25 18:41:28 +08:00 · 3511 次点击
    这是一个创建于 2376 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在同样的内网里, 我启动了服务

    ifconfig 后看了 ip 是 192.168.1.141, 服务的端口是 8069,

    但是我 192.168.1.141:8069 打不开网页

    防火墙也关了

    我怀疑是端口的问题 然后 google 了一下

    用命令 sudo ipfw add 8069 allow tcp from any to any dst-port 8069 可以开放端口

    但是 command not found

    大佬们有什么解决方案吗

    9 条回复    2018-06-26 14:27:34 +08:00
    lookwi
        1
    lookwi  
       2018-06-25 19:03:24 +08:00 via iPhone
    请你去读那些友好的手册
    agagega
        2
    agagega  
       2018-06-25 19:07:49 +08:00 via iPhone
    直接上 ngrok
    hushanbing
        3
    hushanbing  
       2018-06-25 19:17:09 +08:00
    先用 wireshark 抓个包看看
    elvodn
        4
    elvodn  
       2018-06-25 19:21:52 +08:00
    有可能服务监听的 127.0.0.1:8069
    sunzongzheng
        5
    sunzongzheng  
       2018-06-25 19:38:53 +08:00 via Android
    你的服务限了 host 的感觉
    skybird
        6
    skybird  
       2018-06-25 20:09:07 +08:00   ❤️ 1
    感觉没描述清楚呢,到底是 web 服务还是 redis、mysql 等,如果是 web 服务,可以用一下 frp ;如果是单纯想内网访问 web,那么可能就像上面所说的监听的是 127.0.0.1:8069,应该改成 0.0.0.0:8069,或者去掉 bind_ip 的设置(看配置而定)。
    bpllzbh
        7
    bpllzbh  
    OP
       2018-06-25 23:47:56 +08:00 via iPhone
    @skybird web 服务
    takeoffyoung
        8
    takeoffyoung  
       2018-06-26 00:03:02 +08:00
    典型地,我们先来考虑下怎么解决这个问题。
    1. 确认你的服务有没有启动成功
    2. 确认你的 client 访问了正确的地址
    3. 确认你的 client 使用方式正确

    首先,你尝试从浏览器打开,我们假定你是启动了一个 HTTP 服务。

    第一个问题,如果你使用的服务端程序有明确的启动成功的表现,那么第一个问题得解。

    第二个问题,你尝试用一个内网 ip 打开,首先确认是不是双方在同一个内网下,以及端口和主机开放情况。就是大家上面猜测,是不是只 HTTP 服务启动 bind 了本机 ip,127.0.0.1 而不是向所有地址开放。

    第三个问题,前文假定你是启动了一个 HTTP 的服务,但是你的正文描述中没有明确表示你启动的是一个 HTTP 的服务,所以你可以再确定一下,这个服务使用的应用层的协议是不是能被浏览器解析。


    至于你得到的反馈"command not found",建议先理解一下命令的含义再进行操作,不然对你的电脑而言是比较危险的。
    TestSmirk
        9
    TestSmirk  
       2018-06-26 14:27:34 +08:00
    局域网: 启动 指定 ip 0.0.0.0
    广域网: 启动 localhost or 127.0.0.1 然后 frp
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5384 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 07:57 · PVG 15:57 · LAX 23:57 · JFK 02:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.