TCPDUMP

Linux系统之运行状态分析及问题排查思路

ε祈祈猫儿з 提交于 2020-05-02 03:45:17
〇、一件事儿 以下分析是站在Java工程师的角度来分析的。 <a name="anchor_cpu"></a> 一、CPU分析 分析CPU的繁忙程度,两个指标:系统负载和CPU利用率 1、系统负载分析 系统负载 :在Linux系统中表示,一段时间内 正在执行 进程数和CPU 运行队列中就绪等待 进程数,以及非常重要的 休眠但不可中断 的进程数的平均值(具体load值的计算方式,有兴趣可以自行深究,这里不深究)。<font style="color:red;">说白了就是,系统负载与R( Linux系统之进程状态 )和D( Linux系统之进程状态 )状态的进程有关,这两个状态的进程越多,负载越高。</font> 查看系统负载,见 top命令 :第1部分。 怎么看load average的值? 通常先看15分钟的load值,如果load很高,再看1分钟和5分钟的load值,查看是否有下降趋势。短时间内load值高,无须太担心;但是如果长时间内load值持续过高,那么就要赶紧看看发生了什么。 需要警惕的load average的值(以单核CPU为例): load值持续大于0.7 ,必须开始找问题出在哪里,防止情况恶化; load值持续大于1.0 ,解决问题已迫在眉睫; load值持续大升高达到5.0 ,表示各种请求几乎得不到响应,机器几近崩溃; <font style="color

记一次问题排查:为什么在POD无法通过Service访问自己?

放肆的年华 提交于 2020-05-01 18:16:11
问题现象 创建一个nginx pod,并配置了service访问,service后端指向pod。 进入pod中使用service ip 或者service 域名,无法访问。 一开始以为是环境配置或者k8s版本(1.9)的问题,在其他1.13的kubernetes环境下也试了,还是同样的问题。 环境配置 使用的cni插件是flannel,但不是容器化安装,也不是标准化的通过kubelet指定cni plugin(--cni-bin-dir,--cni-conf-dir参数),而是通过dockerd 提供的 -bip 参数指定容器的子网,而这个值是从 /run/flannel/subnet.env (flannel会将获取到的子网写入到该文件) 排查过程 1、首先尝试通过pod ip尝试是否可访问,已验证是可通的。 2、尝试对docker0网桥进行抓包 tcpdump -i docker0 神奇的在这里,再次尝试通过service 访问是居然可以通,发现只要tcpdump断开就不行了。 到这里的时候有点觉得诡异了 在pod内通过service访问的时候网络的流向应该是 pod内部访问service->docker0网桥->宿主机的iptables规则->docker0网桥->pod内部 查阅了相关资料后,看到kubelet有个 --hairpin-mod 参数: 文档说明:

桥接和路由模式编译安装open***虚拟专用网络

蓝咒 提交于 2020-04-30 14:57:37
openv_n2.1编译安装 一、服务端安装 1.安装openv_nserver 安装其他版本的v_n2.1版本 2.安装环境: yum -y install pam-devel openssl-devel lzo-devel automake gcc gcc-c++ patch yum install -y pkcs11-helper pkcs11-helper-devel 10.168.10.0/24为 的网段地址 192.168.8.0/24为内网地址段 10.168.10.4 为 的内网地址 下载地址: wget https://static.saintic.com/download/thirdApp/Openv_n/openv_n-2.1_rc21.tar.gz wget https://static.saintic.com/download/thirdApp/Openv_n/openv_n-2.1_rc21_eurephia.patch 百度网盘屏蔽了v_n的程序了 3.编译安装: /usr/local/openv_n tar xvf openv_n-2.1_rc21.tar.gz cd openv_n-2.1_rc21 patch -p1 < ../openv_n-2.1_rc21_eurephia.patch ./configure && make && make

查看linux中所有用户的三种方式

血红的双手。 提交于 2020-04-29 10:04:41
大家都知道, Linux 系统中用户信息存放在 /etc/passwd 文件中。 这是一个包含每个用户基本信息的文本文件。当我们在系统中创建一个用户,新用户的详细信息就会被添加到这个文件中。 /etc/passwd 文件将每个用户的基本信息记录为文件中的一行,一行中包含 7 个字段。 /etc/passwd 文件的一行代表一个单独的用户。该文件将用户的信息分为 3 个部分。 * 第 1 部分:`root` 用户信息 * 第 2 部分:系统定义的账号信息 * 第 3 部分:真实用户的账户信息 第一部分是 root 账户,这代表管理员账户,对系统的每个方面都有完全的权力。 第二部分是系统定义的群组和账户,这些群组和账号是正确安装和更新系统软件所必需的。 第三部分在最后,代表一个使用系统的真实用户。 在创建新用户时,将修改以下 4 个文件。 * `/etc/passwd`: 用户账户的详细信息在此文件中更新。 * `/etc/shadow`: 用户账户密码在此文件中更新。 * `/etc/group`: 新用户群组的详细信息在此文件中更新。 * `/etc/gshadow`: 新用户群组密码在此文件中更新。 ** 建议阅读 : ** 如何在 Linux 上查看创建用户的日期 [1] 如何在 Linux 上查看 A 用户所属的群组 [2] 如何强制用户在下一次登录 Linux

Linux下Wifi审计开源工具FruityWiFi

允我心安 提交于 2020-04-28 12:32:52
FruityWiFi是Linux下的WIFI 安全 审计开源工具。遵守GPL开源协议。原本是给树莓派Raspbian系统设计的,但同时也适合其他的Linux系统使用,经过测试可用的系统包括:Debian, Kali Linux, Kali Linux ARM (Raspberry Pi), Raspbian (Raspberry Pi), Pwnpi (Raspberry Pi), Bugtraq, NetHunter等。 FruityWiFi可以允许用户使用图形界面操作攻击网络,进行网络的 安全 审计。模块化设计方便扩展更多功能,已集成URLsnarf, DNSspoof, Kismet, mdk3, ngrep, nmap, Squid3 y SSLstrip (代码注入), Captive Portal, AutoSSH, Meterpreter, Tcpdump 等众多网络工具。 Kali Linux安装: 使用脚本install-FruityWiFi.sh 或 命令行 apt-get install fruitywifi 安装后,使用方法: 访问 http://localhost:8000 (http) 或访问 https://localhost:8443 ( https) 默认网页图形界面用户名密码: user: admin pass: admin GitHub

(3)Linux命令分类汇总(7~12)

六月ゝ 毕业季﹏ 提交于 2020-04-28 05:01:58
Linux命令分类汇总(7~12) (七)用户管理命令(12个) 1 useradd cdgs 添加用户。 2 usermod 修改系统已经存在的用户属性。 3 userdel -r/删家目录 删除用户。 4 groupadd 添加用户组。 5 passwd 修改用户密码。 6 chage 修改用户密码有效期限。 7 id 看用户的uid,gid归属的用户组 8 su -:改变用户目录 切换用户身份。 9 visudo 编辑/etc/sudoers文件的专属命令。 10 sudo 权限管理机制 以另外一个用户身份(默认root用户)执行事先在sudoers文件允许的命令。 11 getfacl 12 setfacl mxb ACL访问控制权限 (八)网络操作命令(20个) 13 telnet 使用TELNET 协议远程登录。 14 ssh 使用SSH加密协议远程登录。 15 scp securecopy 用于不同主机之间复制文件。 16 wget 命令行下载文件。 17 ping 测试主机之间网络的连通性。 18 route 显示和设置linux系统的路表。 19 ifconfig 查看、配置、启用或禁用网络接口的命令。 20 ifup 启动网卡。 21 ifdown 关闭网卡。 22 netstat 查看网络状态。 23 ss yum 安装一下 查看网络状态。 24 nmap

传输层:TCP UDP SCTP

こ雲淡風輕ζ 提交于 2020-04-27 22:29:22
总图 虽然协议族被称为“TCP/IP”,但除了TCP和IP这两个主要协议外,还有许多其他成员。图2-1展示了这些协议的概况。 图2-1中同时展示了IPV4和IPV6。从右向左看该图,最右边的5个网络应用在使用IPV6,随后的6个网络应用使用IPV4。 最左边名为tcpdump的网络应用或者使用BSD分组过滤器(BPF),或者使用数据链路层提供者接口(DLPI)直接与数据链路层进行通信。处于其右边所以9个应用下面的虚线标记为API,它通常是套接字或XTI。访问BPF或DLPI的接口不使用套接字或XTI。 图2-1中还标明traceroute程序使用两种套接字:IP套接字用于访问IP,ICMP套接字用于访问ICMP。 下面我们讲解一下图2-1中的每一个协议框。 IPV4 它使用32为地址,IPV4给TCP、UDP、SCTP、ICMP和IGMP提供分组递送服务。 IPV6 使用128位更大地址。IPV6给TCP、UDP、SCTP和ICMPv6提供分组递送服务。 TCP 传输控制协议。TCP是一个面向连接的协议,为用户进程提供可靠的全双工字节流。TCP套接字是一种流套接字。TCP关心确认、超时、和重传之类的细节。注意,TCP既可以使用IPV4,也可以使用IPV6。 UDP 用户数据包协议。UDP是一个无连接协议。UDP套接字是一种数据报套接字。UDP数据报不能保证最终到达它们的目的地

MySQL慢查询分析工具pt-query-digest详解

Deadly 提交于 2020-04-27 20:05:28
一、简介 pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog、General log、slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdump抓取的MySQL协议数据来进行分析。可以把分析结果输出到文件中,分析过程是先对查询语句的条件进行参数化,然后对参数化以后的查询进行分组统计,统计出各查询的执行时间、次数、占比等,可以借助分析结果找出问题进行优化。 二、安装pt-query-digest 1.下载页面: https://www.percona.com/doc/percona-toolkit/2.2/installation.html 2.perl的模块 yum install -y perl-CPAN perl-Time-HiRes 3.安装步骤 方法一:rpm安装 cd /usr/local/src wget percona.com/get/percona-toolkit.rpm yum install -y percona-toolkit.rpm 工具安装目录在:/usr/bin 方法二:源码安装 cd /usr/local/src wget percona.com/get/percona-toolkit.tar.gz tar zxf percona-toolkit.tar.gz cd percona

MySQL5.7.20源码安装以及pt-query-digest用法示例

我们两清 提交于 2020-04-27 19:35:49
MySQL5.7.20源码安装 1.下载解压 cd /data/app/mysql5.7 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20.tar.gz tar -zxvf mysql-5.7.20.tar.gz 2.添加mysql用户组并添加mysql用户,并且不允许登录 groupadd mysql useradd -r -g mysql -s /bin/false -M mysql 3.创建安装目录 mkdir -p /data/app/mysql5.7/{data,boost} 4.cmake配置 cmake . -DCMAKE_INSTALL_PREFIX=/data/app/mysql5.7 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1

《移动App性能评测与优化》笔记--APP性能测试之网络

北城以北 提交于 2020-04-27 13:51:57
1、流量测试方法 抓包测试法,通过第三方应用,来禁用其他APP的连网权限,并使用工具进行抓包 Android 上常用的工具是tcpdump,并使用wireshark进行统计 统计测试法 安卓系统自身提供了TCP收发长度的统计功能,一般App和后台服务器之间的通信都是基于TCP的,所 以我们可以利用此统计来测试我们App的流量,而且安卓提供的该统计功能是按照App纬度来统计, 步骤:1、ps命令找出所测APP的uid,2、进入/proc/uid_stat/“uid” 目录,cat获取当前tcp_snd和tcp_rcv的初始值,3、进行一段时间测试后,再次获取其值 其他性能测试工具-----GT,Emmagee 优化方案 必须小分片传输一个文件\图片 理由:a)若整个文件(图片)放在一个网络包里进行传输,一旦失败,就必须重传整个文件,这样给用户带来的流量浪费是巨大的。因而采用把一个文件分片的方式传输,则只需要在某一个分片失败后重传这一个分片; b) 单个消息越大传输时越容易失败 不同类型的移动互联网下的分片初始大小应该有所不同。----------理由:不同互联网的带宽和稳定性的差异都很大,使用不通大小的初始分片应该能更好的适应对应类型的网络 在上传一个文件\图片的过程中,应尽可能的动态增大分片大小,以减少分片动作。----------理由:分片动作会带来不少额外开销,如C