1.curl命令
curl命令是一个功能强大的网络工具,它能够通过http、ftp等方式下载文件,也能够上传文件,同时支持HTTPS等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。其实curl远不止前面所说的那些功能,大家可以通过man curl阅读手册页获取更多的信息。类似的工具还有wget。curl命令使用了libcurl库来实现,libcurl库常用在C程序中用来处理HTTP请求,curlpp是libcurl的一个C++封装,这几个东西可以用在抓取网页、网络监控等方面的开发,而curl命令可以帮助来解决开发过程中遇到的问题。
常用指令
curl
-o/--output <file> 指定输出文件名称
-O/--remote-name 把输出写到该文件中,保留远程文件的文件名
-x/--proxy <host[:port]> 在给定的端口上使用HTTP代理
-x/--proxy <proxyhost[:port]> 指定代理服务器地址和端口,端口默认为1080
-v/--verbose 小写的v参数,用于打印更多信息,包括发送的请求信息,这在调试脚本是特别有用。
-V/--version 显示curl版本协议特征等
-H/--header <header> 指定请求头参数
-w/--write-out FORMAT 什么输出完成后
-a/--append 上传文件时,附加到目标文件
-A 随意指定自己这次访问所宣称的自己的浏览器信息
-b/--cookie <name=string/file> cookie字符串或文件读取位置,使用option来把上次的cookie信息追加到http request里面去。
-c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中
-C/--continue-at <offset> 断点续转
-d/--data <data> HTTP POST方式传送数据
2.host命令
host命令是常用的分析域名查询工具,可以用来测试域名系统工作是否正常。
host(选项)(参数)
选项
-a: 显示详细的DNS信息;
-c<类型>: 指定查询类型,默认值为“IN“;
-C: 查询指定主机的完整的SOA记录;
-r: 在查询域名时,不使用递归的查询方式;
-t<类型>: 指定查询的域名信息类型;
-v: 显示指令执行的详细信息;
-w: 如果域名服务器没有给出应答信息,则总是等待,直到域名服务器给出应答;
-W<时间>: 指定域名查询的最长时间,如果在指定时间内域名服务器没有给出应答信息,则退出指令;
-4: 使用IPv4;
-6: 使用IPv6.
3.DNS劫持
什么是DNS劫持
DNS劫持就是通过劫持了DNS服务器,通过某些手段取得某域名的解析记录控制权,进而修改此域名的解析结果,导致对该域名的访问由原IP地址转入到修改后的指定IP,其结果就是对特定的网址不能访问或访问的是假网址,从而实现窃取资料或者破坏原有正常服务的目的。DNS劫持通过篡改DNS服务器上的数据返回给用户一个错误的查询结果来实现的。
DNS劫持症状:在某些地区的用户在成功连接宽带后,首次打开任何页面都指向ISP提供的“电信互联星空”、“网通黄页广告”等内容页面。还有就是曾经出现过用户访问Google域名的时候出现了百度的网站。这些都属于DNS劫持。
4.DNS的TTL(time to live)
TTL(Time-To-Live),简单的说它表示一条域名解析记录在DNS服务器上缓存时间.当各地的DNS服务器接受到解析请求时,就会向域名指定的DNS服务器发出解析请求从而获得解析记录;在获得这个记录之后,记录会在DNS服务器中保存一段时间,这段时间内如果再接到这个域名的解析请求,DNS服务器将不再向DNS服务器发出请求,而是直接返回刚才获得的记录;而这个记录在DNS服务器上保留的时间,就是TTL值。
所以一般更新域名解析的步骤如下:
- 先查看域名当前的TTL值。
- 修改TTL值为可设定的最小值,建议为60秒。
- 等待一天,保证各地的DNS服务器缓存都过期并更新了记录。
- 设置修改DNS解析到新的记录,这个时候各地的DNS就能以最快的速度更新到新的记录。
- 确认各地的DNS已经更新完成后,再TTL值设置成常用的值(如: TTL=86400)。
以上内容来自https://blog.csdn.net/charleslei/article/details/50116003
5.lscpu
以我的虚拟机为例
[root@localhost orange]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 1
On-line CPU(s) list: 0
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 158
Model name: Intel(R) Core(TM) i5-8300H CPU @ 2.30GHz
Stepping: 10
CPU MHz: 2303.999
BogoMIPS: 4607.99
Hypervisor vendor: VMware
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 8192K
6.lsblk
[root@localhost orange]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 4.3G 0 rom /run/media/orange/CentOS 7 x86_64
7.sort
sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f 排序时,将小写字母视为大写字母。
-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
-m 将几个排序好的文件进行合并。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-o<输出文件> 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t<分隔字符> 指定排序时所用的栏位分隔字符。
+<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
--help 显示帮助。
--version 显示版本信息。
8.uniq
uniq
用法:uniq [OPTION]... [INPUT [OUTPUT]]
从输入文件或者标准输入中筛选相邻的匹配行并写入到输出文件或标准输出。
不附加任何选项时匹配行将在首次出现处被合并。
长选项必须使用的参数对于短选项时也是必需使用的。
-c, --count 在每行前加上表示相应行目出现次数的前缀编号
-d, --repeated 只输出重复的行
-D, --all-repeated[=delimit-method 显示所有重复的行
delimit-method={none(default),prepend,separate}
以空行为界限
-f, --skip-fields=N 比较时跳过前N 列(列是以空格符或制表符划分的)
-i, --ignore-case 在比较的时候不区分大小写
-s, --skip-chars=N 比较时跳过前N 个字符
-u, --unique 只显示唯一的行
-z, --zero-terminated 使用'\0'作为行结束符,而不是新换行
-w, --check-chars=N 对每行第N 个字符以后的内容不作对照
--help 显示此帮助信息并退出
--version 显示版本信息并退出
若域中为先空字符(通常包括空格以及制表符),然后非空字符,域中字符前的空字符将被跳过。
提示:uniq 不会检查重复的行,除非它们是相邻的行。
如果您想先对输入排序,使用没有uniq 的"sort -u"。
同时,比较服从"LC_COLLATE" 变量所指定的规则。
9.wc
wc
-c 统计字节数
-l 统计行数
-m 统计字符数。该参数不能与-c一起使用
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串
-L 打印最长行的长度
10.tail
tail [参数] [文件]
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示文件的尾部 n 行内容
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
11.head
head
-q 隐藏文件名
-v 显示文件名
-c<字节> 显示字节数
-n<行数> 显示的行数
12.ss
ss命令用来显示处于活动状态的套接字信息。ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。
ss
-h:显示帮助信息;
-V:显示指令版本信息;
-n:不解析服务名称,以数字方式显示;
-a:显示所有的套接字;
-l:显示处于监听状态的套接字;
-o:显示计时器信息;
-m:显示套接字的内存使用情况;
-p:显示使用套接字的进程信息;
-i:显示内部的TCP信息;
-4:只显示ipv4的套接字;
-6:只显示ipv6的套接字;
-t:只显示tcp套接字;
-u:只显示udp套接字;
-d:只显示DCCP套接字;
-w:仅显示RAW套接字;
-x:仅显示UNIX域套接字。
13.iostat
iostat用于输出CPU和磁盘I/O相关的统计信息,以我的主机为例
Linux 3.10.0-957.el7.x86_64 (localhost.localdomain) 09/09/2019 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.14 0.48 0.41 0.00 0.00 98.97
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
scd0 0.00 0.03 0.00 2060 0
sda 0.36 10.40 3.89 808303 302232
dm-0 0.35 9.95 3.82 773316 296931
dm-1 0.01 0.05 0.04 3752 3156
14.sar命令
sar是系统活动报告(System Activity Report)英文单词的首字母缩写。就像它的名字一样,sar
是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。
-A:所有报告的总和
-u:输出CPU使用情况的统计信息
-v:输出inode、文件和其他内核表的统计信息
-d:输出每一个块设备的活动信息
-r:输出内存和交换空间的统计信息
-b:显示I/O和传送速率的统计信息
-a:文件读写情况
-c:输出进程统计信息,每秒创建的进程数
-R:输出内存页面的统计信息
-y:终端设备活动情况
-w:输出系统交换活动信息
15.mtr
MTR不是只提供Internet的路由间的简单概述,而是收集有关中间主机的状态,连接和响应性的其他信息。由于这些附加信息,MTR可以提供Internet上两台主机之间连接的完整描述。
-n no-dns(或简写为-n) :不对IP地址做域名解析
-s :用来指定ping数据包的大小
-i :使用这个参数来设置ICMP返回之间的要求默认是1秒
-a :来设置发送数据包的IP地址 这个对一个主机由多个IP地址是有用的
-r :已报告模式显示
-c : 每秒发送多少包,默认为10个。英文是(–report-cycles COUNT)
–report :结果显示,并不动态显示
16.ping
说几个最常用的ping命令
ping
-c 次数
-w 等待时间
-f 极限检测。大量且快速地送网络封包给一台机器,看它的回应。
17.cname和a记录
CNAME 即指别名记录,也被称为规范名字。这种记录允你将多个名字映射到同一台计算机。 当需要将域名指向另一个域名,再由另一个域名提供 ip地址,就需要添加 CNAME 记录。
A记录 把域名解析到一个IP地址
CNAME记录和A记录是什么关系?
CNAME记录和A记录都是在DNS解析过程中的一种记录值类型。A记录会直接解析到某个IP,CNAME会解析到另一个域名,之后再对另一个域名继续解析,直到解析出节点。
使用场景举例:
你在使用cdn服务的时候,服务商提供给你的就是一个cname地址,
如果服务商给你一个ip,假如哪天服务商想把ip地址换一个,很多人域名上对应的ip地址就要跟着变化,要让所有人都一起改完,完全没有办法做到的事情,换成cname就没事了,你用你的cdn,他改他的ip地址。唯一的坏处就是,第一次DNS解析域名的时候会多解析一次。总结来看,好处远大于坏处主要目的是为了方便调度,一般cdn有接入域名和调度域名
18.http状态码
502 Bad Gateway
作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。503 Service Unavailable
由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是暂时的,并且将在一段时间以后恢复。如果能够预计延迟时间,那么响应中可以包含一个Retry-After头用以标明这个延迟时间。如果没有给出这个Retry-After信息,那么客户端应当以处理500响应的方式处理它。504 Gateway Timeout
作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器(URI标识出的服务器,例如HTTP、FTP、LDAP)或者辅助服务器(例如DNS)收到响应。
注意:某些代理服务器在DNS查询超时时会返回400或者500错误。
19.可用性
可用性 通俗叫法 停机时间/年 描述 99% 2个9 87.6小时 基本可用性 99.9% 3个9 8.8小时 较高可用性 99.99% 4个9 53分钟 具有故障自动恢复能力的可用性 99.999% 5个9 5分钟 较高可用性 99.9999% 6个9 31秒钟
20.用过linux什么版本的内核
现在用的centos7的内核是3.10,rhel7.3是3.10,fodora29是5.1.16,kali是4.10版本
21.压力测试
转载:https://blog.csdn.net/weixin_40543283/article/details/100655465