tcp

抓包工具tcpdump用法说明

本文原创地址:博客园骏马金龙https://www.cnblogs.com/f-ck-need-u/p/7064286.html#auto_id_0

tcpdump采用命令行方式对接口的数据包进行筛选抓取,其丰富特性表现在灵活的表达式上。

不带任何选项的tcpdump,默认会抓取第一个网络接口,且只有将tcpdump进程终止才会停止抓包。

例如:

shell> tcpdump -nn -i eth0 icmp

下面是详细的tcpdump用法。…

进阶必备的网络基础

前言

在不那么遥远的一些年以前,一个在江湖中行走的前端,只需要了解“前端三剑客”就足以找到一份工作。很多前端只限于 CSS,HTML、JS,网络基础,数据结构之类的都不甚了解。不过这个时期的前端也是最受鄙视的时期,这个时期前端的大量工作依赖于后端,且不需要动画效果和交互效果。

现如今前端圈已经发生翻天覆地的变化, Vue,React,ES6,HTML5,CSS3,Webpack,PostCss 等技术层出不穷。作为一个有格局的前端,对网络基础定是要了然于心的。

如果你对网络基础还不太了解,以下的内容可以给你提供一个思路;如果你对此已经了然于心,以下的内容烦请批评指正。

入题

任何事物的诞生,最初都是服务于极少数人的。渐渐地被这极少数人推而广之,我们大众就开始接触了解它,互联网是如此,麻将亦是如此。不管是互联网还是麻将,它们都增强了人与人之间的交流。接下来我会讲以下内容:

  1. 五层因特网协议栈

  2. HTTP 与 HTTPS 的区别

  3. TCP/IP 协议

  4. 三次握手和四次挥手

  5. DNS 域名解析

  6. 五类 IP 地址

  7. 跨域的原因及处理方式

  8. 正向代理和反向代理

  9. CDN 带来的性能优化

  10. HTTP 强缓存&协商缓存

五层因特网协议栈 TOP

五层因特网协议栈这个知识点对你来说或许有点枯燥,不过当你对这个协议栈有了一个初步的了解之后,你之前的某些疑问就会很明朗。

一、应用层

            

Linux 常用内核网络参数与相关问题处理

本文总结了常见的 Linux 内核参数及相关问题。修改内核参数前,您需要:

  • 从实际需要出发,最好有相关数据的支撑,若您的业务没有受到影响不建议调整内核参数。
  • 了解每一个参数的具体作用,并且同类型或版本操作系统下内核参数可能有所不同。
  • 备份 ECS 实例中的重要数据。参阅文档创建快照

Linux 常用内核网络参数

参数 描述
net.core.rmem_default 默认的 TCP 数据接收窗口大小(字节)。
net.core.rmem_max 最大的 TCP 数据接收窗口(字节)。
net.core.wmem_default 默认的 TCP 数据发送窗口大小(字节)。
net.core.wmem_max 最大的 TCP 数据发送窗口(字节)。
net.core.netdev_max_backlog 在每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。
net.core.somaxconn 定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数。
net.core.optmem_max 表示每个套接字所允许的最大缓冲区的大小。
net.ipv4.tcp_mem 确定 TCP 栈应该如何反映内存使用,每个值的单位都是内存页(通常是
                

Linux 实例常用内核网络参数介绍与常见问题处理

Linux 实例常用内核网络参数介绍与常见问题处理

KB: 41334

 ·

更新时间:2018-11-16 20:26:51

   

本文总结了常见的 Linux 内核参数及相关问题。修改内核参数前,您需要:

  • 从实际需要出发,最好有相关数据的支撑,不建议随意调整内核参数。
  • 了解参数的具体作用,且注意同类型或版本环境的内核参数可能有所不同。
  • 备份 ECS 实例中的重要数据。参阅文档创建快照

查看和修改 Linux 实例内核参数

方法一、通过 /proc/sys/ 目录

查看内核参数:使用 cat 查看对应文件的内容,例如执行命令 cat /proc/sys/net/ipv4/tcp_tw_recycle 查看 

                

发现大量的mysql TIME_WAIT解决办法

今天早上一上班,有同事就反映公司好几个网站都打不开,登陆数据库
服务器(windows),发现很卡,于是重启了下服务器,进入系统后,没过一会问题依旧,查看了下系统进程,发现mysql占用率达到99%,可以肯定的是mysql连接出现问题:
netstat -an
192.168.12.13:3306      192.168.12.12:30443      TIME_WAIT
192.168.12.13:3306      192.168.12.12:30444      TIME_WAIT
192.168.12.13:3306      192.168.12.12:30445      TIME_WAIT
192.168.12.13:3306      192.168.12.12:30446      TIME_WAIT
192.168.12.13:3306      192.168.12.12:30447      TIME_WAIT
192.168.12.13:3306      192.168.12.12:30448      TIME_WAIT
192.168.12.13:3306      192.168.12.12:30449      TIME_WAIT
192.168.12.13:3306      192.168.12.12:30450      TIME_WAIT
192.168.12.13:3306      192.168.12.12:30451      TIME_WAIT
192.168.12.13:3306      192.168.12.12:30452      TIME_WAIT…
                

你猜一个 TCP 连接上面能发多少个 HTTP 请求

一道经典的面试题是从 URL 在浏览器被被输入到页面展现的过程中发生了什么,大多数回答都是说请求响应之后 DOM 怎么被构建,被绘制出来。但是你有没有想过,收到的 HTML 如果包含几十个图片标签,这些图片是以什么方式、什么顺序、建立了多少连接、使用什么协议被下载下来的呢?

要搞懂这个问题,我们需要先解决下面五个问题:

  1. 现代浏览器在与服务器建立了一个 TCP 连接后是否会在一个 HTTP 请求完成后断开?什么情况下会断开?
  2. 一个 TCP 连接可以对应几个 HTTP 请求?
  3. 一个 TCP 连接中 HTTP 请求发送可以一起发送么(比如一起发三个请求,再三个响应一起接收)?
  4. 为什么有的时候刷新页面不需要重新建立 SSL 连接?
  5. 浏览器对同一 Host 建立 TCP 连接到数量有没有限制?

先来谈谈第一个问题:现代浏览器在与服务器建立了一个 TCP 连接后是否会在一个 HTTP 请求完成后断开?什么情况下会断开?

在 HTTP/1.0 中,一个服务器在发送完一个 HTTP

            

炮打TCP – 关于一而再再而三的粘包拆包问题的大字报

炮打TCP - 关于一而再再而三的粘包拆包问题的大字报

TCP 所谓的粘包和拆包问题,是技术圈里最奇葩的问题之一!

一而再,再而三,就跟傻逼的中国球迷支持中国足球队一样,前赴后继。有时候同一个人多次在犯同一个错误,有时候是前脚一个犯错了后脚又来一个还犯同样的错。即使是最优秀的程序员,也会在这个问题上面栽跟头,思维甚至很难转过弯,很久才能意识到自己的错误。而低水平的程序员就更不用说了,很多人到死都没有理解这个错误并解决掉,只是逃掉了而已。…

软件工程师需要了解的网络知识:从铜线到HTTP

软件工程师需要了解的网络知识:从铜线到HTTP(一)—— 前言

 写作目标

本文面向中国互联网届众多的“应用软件工程师”,确切地说,面向 web 后端工程师(Java、PHP),web 前端工程师,移动开发工程师(iOS、Android)。本文将从铜线讲起,一路讲到 HTTP,为大家剖析出一个真实的“网络”。

写作由来

内容来源

前两天我给一个要跳槽的做 iOS 的哥们儿讲了几个小时的网络,给他的面试铺路,在讲之前,我就意识到了这次的内容如果能够整理一下将会是一套丰富的面向软件工程师的网络教程。…

            

OSI七层模型简介-原创

OSI七层模型简介

不能跨层传递, 只有物理层能实现物理通信,而其它层是逻辑通信 .

OSI七层网络模型

TCP/IP四层概念模型

硬件 协议 数据单元 说明
应用层(Application) 应用层 HTTP,FTP,telnet,DNS,MQTT,
SMTP,SSH,websocket等
DATA  apache,nginx等
表示层(Presentation)  MIME SSL TLS XDR  包括数据格式转换、加密和压缩,涉及编码格式,图片格式等ASCII EBCDIC MIDI MPEG HTML
会话层(Session)  Sockets ,RPC  会话层控制计算机之间的对话(连接)。建立、管理和终止本地和远程应用程序之间的连接(一般由多线程维持多个会话连接)操作系统/应用读取
传输层(Transport) 传输层  可有四层硬件 TCP, UDP Segment (TCP) /