新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > UNIX網(wǎng)絡編程――產(chǎn)生RST

        UNIX網(wǎng)絡編程――產(chǎn)生RST

        作者: 時間:2016-10-08 來源:網(wǎng)絡 收藏

        產(chǎn)生RST的3個條件:

        本文引用地址:http://www.104case.com/article/201610/305555.htm

        1. 建立連接的SYN到達某端口,但是該端口上沒有正在監(jiān)聽的服務。

        如:IP為192.168.1.33的主機上并沒有開啟WEB服務(端口號為0x50),這時我們通過IE去訪問192.168.1.33,通過Wireshark抓包,可以看到,對此SYN包的回復為RST。說明此服務器(即IP192.168.1.33)是存在的,不過其上并沒有運行WEB Server(如apache)的程序

        2. TCP想取消一個已有連接。

        基于什么樣的情況才會取消一個已有的連接?

        3. TCP接收到了一個根本不存在的的連接上的分節(jié)。

        我們知道,TCP在數(shù)據(jù)傳輸前,要通過三路握手(three-way handshake)建立連接,即連接建立起后,服務器和客戶端都有一個關于此連接的描述,具體形式表現(xiàn)為套接口對,如果收到的某TCP分節(jié),根據(jù)源IP,源tcp port number,及目的IP,目的tcp port number在本地(指服務器或客戶端)找不到相應的套接口對,TCP則認為在一個不存在的連接上收到了分節(jié),說明此連接已錯,要求重新建立連接,于是發(fā)出了RST的TCP包!

        今天遇到的問題就是 server 端被殺調(diào)了,結果client不知道,仍然拿原來的socket去操作,結果server返回rst的tcp包,client異步讀返回錯誤。



        關鍵詞:

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 大丰市| 桦甸市| 无为县| 南郑县| 青海省| 荥经县| 灵石县| 高邮市| 桓台县| 株洲县| 台湾省| 漳平市| 山阳县| 雷山县| 龙游县| 天台县| 鄂尔多斯市| 措美县| 洞口县| 内黄县| 五常市| 图们市| 上思县| 客服| 定西市| 于都县| 神池县| 英山县| 鄂尔多斯市| 个旧市| 大城县| 麻城市| 林芝县| 怀仁县| 株洲县| 新宁县| 江门市| 丹棱县| 芦山县| 潼南县| 奉节县|