V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
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
xinali
V2EX  ›  Python

python 可以伪造 ip 发送 http 请求吗?

  •  
  •   xinali · Jul 29, 2016 · 18421 views
    This topic created in 3561 days ago, the information mentioned may be changed or developed.
    32 replies    2018-02-21 19:33:15 +08:00
    holyghost
        1
    holyghost  
       Jul 29, 2016
    我们不提倡做坏事
    paw
        2
    paw  
       Jul 29, 2016
    伪造 IP 3 次握手都完不成..... 除非你能控制路由让你伪造的 IP 包转到你伪造源机器上去
    3dwelcome
        3
    3dwelcome  
       Jul 29, 2016 via Android
    找个代理发请求、 ip 包你修改了、那路由就没办法发送数据了。
    naomhan
        4
    naomhan  
       Jul 29, 2016
    requests.get(url, proxies={"http":"ip:port"})
    naomhan
        5
    naomhan  
       Jul 29, 2016
    不对 这叫代理了
    ovear
        6
    ovear  
       Jul 29, 2016
    X-REAL-IP
    tabris17
        7
    tabris17  
       Jul 29, 2016   ❤️ 1
    概率上有可能实现
    hard2reg
        8
    hard2reg  
       Jul 29, 2016
    我们不提倡做坏事
    ysc3839
        9
    ysc3839  
       Jul 29, 2016 via Android
    伪造 IP 的话数据都发到伪造的 IP 上了, 3 次握手不能完成,更不可能发送 HTTP 请求
    felixzhu
        10
    felixzhu  
       Jul 29, 2016
    不能伪造,一般都是找代理服务
    iyangyuan
        11
    iyangyuan  
       Jul 29, 2016 via iPhone
    伪命题
    zythum
        13
    zythum  
       Jul 29, 2016
    伪造 ip 你就接不到包了.... 没发建立链路的。
    loalj
        14
    loalj  
       Jul 29, 2016   ❤️ 1
    有些 web 服务器校验客户端的真实 ip 是直接从 http headers 里边读,可以伪造 x-forward-for, x-real-ip 来欺骗 web 服务器,但是大部分都没办法通过这种办法来伪造。
    hxndg
        15
    hxndg  
       Jul 29, 2016
    表示我原先也想过这个问题
    wweir
        16
    wweir  
       Jul 29, 2016 via iPhone
    可以考虑 sip 不过这个跟 Python 没啥关系
    zaishanfeng
        17
    zaishanfeng  
       Jul 29, 2016 via Android
    这怎么可能 要是可以伪造岂不是乱套了
    msg7086
        18
    msg7086  
       Jul 29, 2016
    可以伪造,但是你怎么收包?
    cmaster
        19
    cmaster  
       Jul 29, 2016
    人家说不定是想 DDoS 呢?
    aeshfawre
        20
    aeshfawre  
       Jul 29, 2016
    据说不接收数据就可以,只发出去
    gefranks
        21
    gefranks  
       Jul 29, 2016
    这种伪造的包很有可能被一些路由直接丢弃,因为包的源不认识,这些包也不会被路由
    redsonic
        22
    redsonic  
       Jul 30, 2016   ❤️ 1
    撇开 TCP 三次握手,很早之前的 BGP 接入都可以伪源 ip 发包,后来 DDos 多了,运营商都按照 BCP38 来过滤源了。
    3dwelcome
        23
    3dwelcome  
       Jul 30, 2016 via Android
    三次握手、在第二个阶段模拟服务器返回伪造 ip 包和地址是完全可行的。但我没试过第三次客户端伪造源地址后、能否建立连接。

    也许可行、但这样就属于普通的 ddos 把服务器资源耗完的范畴、并不能传送数据。
    Mark3K
        24
    Mark3K  
       Jul 30, 2016
    scapy
    xieyudi1990
        25
    xieyudi1990  
       Jul 30, 2016
    如果说是 ip 包头那种,用 raw socket 试一下就好。不过我没试过,我估计 isp 没那么傻。
    如果是 http 里那个 x-forward-for ,我试过。 cnbeta 可以用这个刷票。
    GlobalNPC
        26
    GlobalNPC  
       Jul 30, 2016 via Android
    以前某文献库是读 headers 的,然后 h 就嘿嘿嘿
    qingchn
        27
    qingchn  
       Jul 30, 2016
    伪造 IP 有点难度,变通一下,使用代理。
    em70
        28
    em70  
       Jul 30, 2016
    如果能伪造 IP,哪些卖肉鸡卖代理的不就饿死了,存在即是合理
    jackyspy
        29
    jackyspy  
       Jul 30, 2016
    scapy ,想怎么玩就怎么玩
    jackyspy
        30
    jackyspy  
       Jul 30, 2016
    刚看错问题了。 tcp 无法伪造 ip ,除非你在某个核心网节点上。
    可以通过代理访问 http 达到你要的效果。
    pyufftj
        31
    pyufftj  
       Dec 27, 2017
    @jackyspy 那局域网中可以吗。
    zlun26981
        32
    zlun26981  
       Feb 21, 2018
    假设你是想在本地一台主机伪造多个 IP,然后通过 http 访问互联网一台服务器,让服务器觉得是有多台不同主机 /IP 来访问它。这个需求就有点 DDoS 的味道了。

    在网络层面你需要考虑三个问题:
    1.伪造完 IP,假设伪造 IP 与网关不在同一网段,这个数据包怎么送到出口路由器?
    2.就算数据已经送到出口路由器,出口路由器会将源 IP 做地址转换( NAT ),再送出互联网,那么这个数据包送到目标服务器,其源 IP 还是一个。
    3.无法完成 TCP 三次握手,你用伪造源 IP 给目标服务器发送 TCP_SYN,目标服务器给你所伪造的源 IP 对应的真实主机回 TCP_SYN-ACK,真实主机莫名其妙收到这个 SYN-ACK 是不会回复 TCP_ACK 的。

    我个人还是比较认同楼上有人提出使用代理的方案。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3290 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 85ms · UTC 11:26 · PVG 19:26 · LAX 04:26 · JFK 07:26
    ♥ Do have faith in what you're doing.