tcp

Linux主机IP地址配置

时光总嘲笑我的痴心妄想 提交于 2020-04-05 17:18:05
1 简述osi七层模型和TCP/IP五层模型 osi七层模型有如下层次构成: (1) 物理层:二进制传输,为启动、维护以及关闭物理链路定义了电气规范、机械规范、过程规范和功能规范; (2) 数据链路层:定义如何格式化数据以便进行传输以及如何控制对网络的访问,支持数据帧校验; (3) 网络层:路由数据包,选择传递数据包的最佳路径,支持寻址和路径选择; (4) 传输层:确保数据传输的可靠性;建立、维护和终止虚拟电路;通过错误检测和恢复;信息流控制保障可靠性; (5) 会话层:建立、管理和终止在应用程序之间的会话; (6) 表示层:确保接受系统可以读出该数据;格式化数据;协商用于应用层的数据传输语法;提供加密; (7) 应用层:为应用程序进程(例如,电子邮件、文件传输和终端仿真)提供网络服务;提供用户身份验证; TCP/IP五层模型由物理层、数据链路层、网络层、传输层和应用层构成; 2 总结描述TCP三次握手四次挥手 TCP三次握手: (1) 客户端A发送一个初始化报文SYN=1,序列号seq=x,不携带数据;同时TCP客户进程变为SYN-SENT状态; (2) 服务B收到客户端A发送的初始化报文,将TCP进程变为SYN-RCVD状态;同时回应初始化报文SYN=1,确认ACK=1,序列号seq=y,确认已收到序号为x的报文了ack=x+1; (3)

《自拍教程53》Python_adb运行tcpdump工具

狂风中的少年 提交于 2020-04-05 17:03:53
本篇文章与上一篇: Python_adb运行shell脚本类似 , 上一篇主要的技术点是讲shell等 文本文件 ,"隐藏"在Python代码里; 本篇文章主要是讲,如何将tcpdump这类 二进制可执行文件 , “隐藏”到Python代码里去。 ::: story Android手机具备在线功能的应用程序,如果出现App无法连接网络, 或者网络异常等问题,开发一般需要测试同学抓包; 还有比如Android手机 流媒体协议(HTTP,HTTP Live, RTSP)测试等,开发也经常需要测试人员抓包。 Android的一般用tcpdump命令行工具抓包, 可是,有的Android是阉割版的,很多命令行工具都未集成,比如tcpdump如果没有集成, 则要考虑adb push tcpdump /system/bin下面去, 然后通过/system/bin/tcpdump -vv -s 0 -w /sdcard/tcp.pcap 来抓包。 执行tcpdump不难,难在“隐藏”tcpdump到Python代码里去, 为什么要“隐藏”,因为我们只能将.py代码文件, 编译打包进.exe里去, 任何其他的格式的非代码文件都是无法编译打包进去, 所以先将tcpdump这个二进制文件转成.py文件, 这样就可以将tcpdump编译打包进.exe。 :::

TCP receiving window size higher than net.core.rmem_max

◇◆丶佛笑我妖孽 提交于 2020-04-05 15:05:32
问题 I am running iperf measurements between two servers, connected through 10Gbit link. I am trying to correlate the maximum window size that I observe with the system configuration parameters. In particular, I have observed that the maximum window size is 3 MiB. However, I cannot find the corresponding values in the system files. By running sysctl -a I get the following values: net.ipv4.tcp_rmem = 4096 87380 6291456 net.core.rmem_max = 212992 The first value tells us that the maximum receiver

linux网络编程tcp

天大地大妈咪最大 提交于 2020-04-04 15:20:57
之前学习的时候笔记没有保存好,这次重新编写一个案例。 客户端实现程序代码: #include <string.h> #include <stdlib.h> #include <stdio.h> #include <fcntl.h> #include <unistd.h> #include <netinet/in.h> #include <arpa/inet.h> #define DEF_TCP_SRV_PORT 19868 int main() { struct sockaddr_in addr; struct sockaddr_in srv_addr; int net_sock; int new_fd; int res; int len; char buff[128]; // 1. socket 初始化 // 1.1 创建socket net_sock = socket(AF_INET,SOCK_STREAM,0); if( -1 == net_sock ) { printf("create socket error!\r\n"); return -1; } // 1.2 初始化地址 bzero( &addr, sizeof(struct sockaddr_in)); addr.sin_addr.s_addr = htonl(INADDR_ANY); addr.sin

网络编程——TCP连接

醉酒当歌 提交于 2020-04-04 15:12:13
TCP在双方传输数据前,发送方先请求建立连接,接收方同意建立连接后才能传输数据。(打电话:先拨号,等对方同意接听后,才能交流)。。。高可靠性 UDP不需要建立连接(发短信)。不可靠,可能出现数据丢失等,但效率高,实时性高。 ———————————————————————————————————————————————————————————————————————————— 服务器端: import java.io.IOException; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket; public class ServerSocketTest { public static void main(String[] args) throws IOException { // 新建一个服务器端的套接字 Server端监听10000端口 ServerSocket serverSocket = new ServerSocket(10000); // 建立连接,此时进入阻塞状态 Socket socket = serverSocket.accept(); System.out.println("Connected: " + socket

深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 2

南楼画角 提交于 2020-04-04 08:28:23
备注 : 因为文章太长,所以将它分为三部分,本文是第二部分。 第一部分 : 深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 1 第二部分 : 深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 2 第三部分 : 深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 3 TCP连接 DNS解析返回域名的IP之后,接下来就是浏览器要和该IP建立TCP连接了。为什么是TCP而不是UDP?那是因为HTTP是基于TCP上的。这里涉及到另外一个话题:TCP/IP 模型。这个已经在大学的课本上学过了,我们再复习一下。 TCP/IP模型 TCP/IP模型一般分为4层,下面是我用PPT画的。 在这里不得不说OSI七层参考模型,它和TCP/IP模型的区别和联系,继续用PPT画,见下图: 不多解释,OSI的7/6/5层和TCP/TP的应用层对应,2/1层和链路层对应。在实际的应用中,主要还是TCP/IP概念模型,后面的内容主要讲它。 这些都是课本上的,也许忘了(毕竟不是天天用到这些嘛),没关系,我们以最简单的方式来讲解。为了便于理解每层的含义和作用,先看每层有哪些协议,看看有没有自己熟悉的协议。有熟悉的协议,先体会一下。 应用层 我们可以看到,有常用的HTTP/HTTPS/IMAP/SSH/Telnet等都在应用层上(题外话

Windows Socket编程简介

喜欢而已 提交于 2020-04-03 22:16:03
WinSock编程 使用WinSock API的编程,应该了解TCP/IP的基础知识。虽然你可以直接使用WinSock API来写网络应用程序,但是,要写出优秀的网络应用程序,还是必须对TCP/IP协议有一些了解的。 1. TCP/IP协议与WinSock网络编程接口的关系 WinSock并不是一种网络协议,它只是一个网络编程接口,也就是说,它不是协议,但是它可以访问很多种网络协议,你可以把他当作一些协议的封装。现在的WinSock已经基本上实现了与协议无关。你可以使用WinSock来调用多种协议的功能。那么,WinSock和TCP/IP协议到底是什么关系呢?实际上,WinSock就是TCP/IP协议的一种封装,你可以通过调用WinSock的接口函数来调用TCP/IP的各种功能.例如我想用TCP/IP协议发送数据,你就可以使用WinSock的接口函数Send()来调用TCP/IP的发送数据功能,至于具体怎么发送数据,WinSock已经帮你封装好了这种功能。 2、TCP/IP协议介绍 TCP/IP协议包含的范围非常的广,他是一种四层协议,包含了各种硬件、软件需求的定义。 TCP/IP协议确切的说法应该是TCP/UDP/IP协议。UDP协议(User Datagram Protocol 用户数据报协议),是一种保护消息边界的,不保障可靠数据的传输。TCP协议(Transmission

wireshark 过滤规则

你说的曾经没有我的故事 提交于 2020-04-03 08:28:20
转载 http://openmaniak.com/cn/wireshark_use.php 捕捉过滤器 :用于决定将什么样的信息记录在捕捉结果中。需要在开始捕捉前设置。 显示过滤器 :在捕捉结果中进行详细查找。他们可以在得到捕捉结果后随意修改。 两种过滤器使用的语法是完全不同的。 1. 捕捉过滤器 捕捉过滤器的语法与其它使用Lipcap(Linux)或者Winpcap(Windows)库开发的软件一样,比如著名的 TCPdump 。捕捉过滤器必须在开始捕捉前设置完毕,这一点跟显示过滤器是不同的。 语法: Protocol Direction Host(s) Value Logical Operations Other expression 例子: tcp dst port 80 and tcp dst port 90 Protocol(协议) 可能的值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp. 如果没有特别指明是什么协议,则默认使用所有支持的协议。 Direction(方向) : 可能的值: src, dst, src and dst, src or dst 如果没有特别指明来源或目的地,则默认使用 "src or dst" 作为关键字。 例如,"host 10.2.2.2"与

HTTP协议

橙三吉。 提交于 2020-04-03 08:20:57
目录 HTTP协议 回到顶部 HTTP协议简介 超文本传输协议(英文:Hyper Text Transfer Protocol,HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。HTTP有很多应用,但最著名的是用于web浏览器和web服务器之间的双工通信。 HTTP的发展是由蒂姆·伯纳斯-李于1989年在欧洲核子研究组织(CERN)所发起。HTTP的标准制定由万维网协会(World Wide Web Consortium,W3C)和互联网工程任务组(Internet Engineering Task Force,IETF)进行协调,最终发布了一系列的RFC,其中最著名的是1999年6月公布的 RFC 2616,定义了HTTP协议中现今广泛使用的一个版本——HTTP 1.1。 2014年12月,互联网工程任务组(IETF)的Hypertext Transfer Protocol Bis(httpbis)工作小组将HTTP/2标准提议递交至IESG进行讨论,于2015年2月17日被批准。 HTTP/2标准于2015年5月以RFC 7540正式发表,取代HTTP 1.1成为HTTP的实现标准。 推荐书籍: HTTP权威指南 回到顶部 HTTP协议概述 HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)

在浏览器输入URL回车之后发生了什么(转载)

眉间皱痕 提交于 2020-04-02 19:24:44
转自:https://www.cnblogs.com/abdm-989/p/11979689.html#_label0 打开浏览器从输入网址到网页呈现在大家面前,背后到底发生了什么?经历怎么样的一个过程?先给大家来张总体流程图,具体步骤请看下文分解! 从URL输入到页面展现   总体来说分为以下几个过程:   (1)URL 解析   (2)DNS 解析:将域名解析成 IP 地址   (3)TCP 连接:TCP 三次握手   (4)发送 HTTP 请求   (5)服务器处理请求并响应 HTTP 报文   (6)浏览器解析渲染页面   (7)断开连接:TCP 四次挥手 一 URL解析 URL(Uniform Resource Locator),统一资源定位符,用于定位互联网上资源,俗称网址。比如 http://www.w3school.com.cn/html/index.asp ,遵守以下的语法规则:   scheme://host.domain:port/path/filename    各部分解释如下:     scheme - 定义因特网服务的类型。常见的协议有 http、https、ftp、file,其中最常见的类型是 http,而 https 则是进行加密的网络传输。     host - 定义域主机(http 的默认主机是 www)     domain - 定义因特网