题1

Linux如何挂载windows下的共享目录?

右键需要共享的文件夹 , 选择共享 , 然后默认设置就
yum -y install cifs-utils
mount -t cifs //10.18.44.190/app  /app -o user=gqy,password=root (windows 的用户和密码)

如何查看/var/log目录下的文件数?

[root@master app]# ls -lR /var/ |grep "-" |wc -l
6635

`查看当前系统每个IP的连接数

netstat -n | awk '/^tcp/ {print $5}'| awk -F: '{print $1}' | sort | uniq -c | sort -rn

shell下生成32位随机密码生成mac

[root@master app]# openssl rand -base64 32         openssl rand -hex 6 | sed -r 's/(..)/\1:/g; s/.$//'

统计出apache的access.log中访问量最多的5个ip

[root@master nginx]# cat /var/log/nginx/access.log | awk '{ print $1}' |uniq -c |sort -rn|head -5

如何查看二进制文件的内容?

hexdump -C XXX(文件名) 
-C 是比较规范的 十六进制和ASCII码显示
-c 是单字节字符显示
-b 单字节八进制显示
-o 是双字节八进制显示
-d 是双字节十进制显示
-x 是双字节十六进制显示

ps aux 中的VSZ代表什么意思,RSS代表什么意思?

USER 进程的属主;
PID   进程的ID;
PPID    父进程;
%CPU   进程占用的CPU百分比;
%MEM  占用内存的百分比;
NI        进程的NICE值,数值大,表示较少占用CPU时间;
VSZ     該进程使用的虚拟內存量(KB);
RSS     該進程占用的固定內存量(KB)(驻留中页的数量);
TTY     該進程在那個終端上運行(登陸者的終端位置),若與終端無關,則顯示(?)。若為pts/0等,則表示由網絡連接主機進程
WCHAN  當前進程是否正在進行,若為-表示正在進行;
START   該進程被觸發启动时间;
TIME      該进程實際使用CPU運行的时间;
COMMAND   命令的名称和参数;

如何检测并修复/dev/hda5?

查看文件系统类型

parted /dev/sda
print list

介绍下Linux系统的开机启动顺序

加载BIOS–>读取MBR–>Boot Loader–>加载内核–>用户层init一句inittab文件来设定系统运行的等级(一般3或者
5,3是多用户命令行,5是界面)–>init进程执行rc.syninit–>启动内核模块–>执行不同级别运行的脚本程序–>
执行/etc/rc.d/rc.local(本地运行服务)–>执行/bin/login,就可以登录了。

符号链接与硬链接的区别

ln   3.txt 4.txt 这是硬链接,相当于复制,不可以跨分区,但修改3,4会跟着变,若删除3,4不受任何影响。
ln -s 3.txt 4.txt 这是软连接,相当于快捷方式。修改4,3也会跟着变,若删除3,4就坏掉了。不可以用了。

保存当前磁盘分区的分区表

dd 命令是以个强大的命令,在复制的同时进行转换
dd if=/dev/sda of=./mbr.txt bs=1 count=512

FTP的主动模式和被动模式

PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,
服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT 
命令告诉服务器:“我打开了XX端口,你过来连接我”。于是服务器从20端口向客户端的
 XX端口发送连接请求,建立一条数据链路来传送数据。

PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,
服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV 
命令告诉客户端:“我打开了XX端口,你过来连接我”。于是客户端向服务器的XX端口 
发送连接请求,建立一条数据链路来传送数据。

lvs的三种模式

一、NAT模式(VS-NAT)
 原理:在负载均衡器上将客户端发来的数据包的IP头的目的地址换成其中一台RS的IP地址,
并发至此RS来处理,RS处理完成后把数据交给经过负载均衡器,负载均衡器再把数据包的源IP地址改
为自己的IP,将目的地址改为客户端IP地址即可期间,无论是进来的流量,还是出去的流量,都必须
经过负载均衡器
  
优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,只有负载均衡器需要一个合法的IP地址。
  
缺点:扩展性有限。当服务器节点(普通PC服务器)增长过多时,负载均衡器将成为整个系统的瓶颈
,因为所有的请求包和应答包的流向都经过负载均衡器。当服务器节点过多时,大量的数据包都交汇
在负载均衡器那,速度就会变慢!
  
二、IP隧道模式(VS-TUN)
  
原理:首先要知道,互联网上的大多Internet服务的请求包很短小,而应答包通常很大。那么隧道
模式就是,把客户端发来的数据包,封装一个新的IP头标记(仅目的IP)发给RS,RS收到后,先把数据包
的头解开,还原数据包,处理后,直接返回给客户端,不需要再经过负载均衡器注意,由于RS需要对负载
均衡器发过来的数据包进行还原,所以说必须支持IPTUNNEL协议所以,在RS的内核中,必须编译支持
IPTUNNEL这个选项
  
优点:负载均衡器只负责将请求包分发给后端节点服务器,而RS将应答包直接发给用户。所以,减少
了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,就能处理很巨大的请求量,这种方
式,一台负载均衡器能够为很多RS进行分发。而且跑在公网上就能进行不同地域的分发。
  
缺点:隧道模式的RS节点需要合法IP,这种方式需要所有的服务器支持”IP Tunneling”
(IP Encapsulation)协议,服务器可能只局限在部分Linux系统上。
  
三、直接路由模式(VS-DR)
  
原理:负载均衡器和RS都使用同一个IP对外服务但只有DR对ARP请求进行响应,所有RS对本身这个IP的ARP
请求保持静默也就是说,网关会把对这个服务IP的请求全部定向给DR,而DR收到数据包后根据调度算法,找
出对应的RS,把目的MAC地址改为RS的MAC(因为IP一致)并将请求分发给这台RS这时RS收到这个数据包,
处理完成之后,由于IP一致,可以直接将数据返给客户,则等于直接从客户端收到这个数据包无异,处理
后直接返回给客户端由于负载均衡器要对二层包头进行改换,所以负载均衡器和RS之间必须在一个广播域,
也可以简单的理解为在同一台交换机上
  
优点:和TUN(隧道模式)一样,负载均衡器也只是分发请求,应答包通过单独的路由方法返回给客户端。
与VS-TUN相比,VS-DR这种实现方式不需要隧道结构,因此可以使用大多数操作系统做为物理服务器。
  
缺点:(不能说缺点,只能说是不足)要求负载均衡器的网卡必须与物理网卡在一个物理段上。

跨站脚本 sql注入

存在一个网站www.vulnerablee****.com。该网站上有一个脚本welcome.cgi,
参数设定为name。此脚本会读取HTTP请求的部分,然后未做任何安全性验证,
就将请求内容部分或全部回显到响应页面。
GET /welcome.cgi?name=Sammi HTTP/1.0Host: www.vulnerablee****.com
服务器将会有如下响应:
Hi SammiWelcome!...

网站收集cookie
建议在浏览器设置中关闭JavaScript
如果使用IE浏览器,将安全级别设置到“高”

从理论上说,后台认证程序中会有如下的SQL语句:
String sql = "select * from user_table where username=
' "+userName+" ' and password=' "+password+" '";
当输入了上面的用户名和密码,上面的SQL语句变成:
SELECT * FROM user_table WHERE username=
'’or 1 = 1 -- and password='’
分析SQL语句:
条件后面username=”or 1=1 用户名等于 ” 或1=1 那么这个条件一定会成功

查看http的并发请求书及其Tcp连接状态统计80端口的连接数据

netstat -nat | grep -i "80" | wc -l

统计httpd协议连接数

ps -ef | grep httpd | wc -l

统计已连接的,状态为establish的

netstat -na | greo ESTABLISH | wc -l

查出那个IP连接最多,并将其封掉

netstat -na | grep ESTABLISH | awk {print $5} | awk -F:{print $1}| sort | uniq -c | sort -r +On

查看apache当前并发访问数

netstat -na | grep ESTABLIS | wc -l

查看有多少个进程数

ps -aux | grep httpd | wc -l

自定义日志

yum -y install openssh-server
vim  /etc/ssh/sshd_config
SyslogFacility LOCAL5

vim /etc/rsyslog.conf
添加
local5.*    /var/log/sshd_logs
systemctl restart sshd
systemctl restart rsyslog
查看设备和等级
man rsyslog.conf
facility: auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security  (same
       as  auth), syslog, user, uucp and local0 through local7.
leve:debug, info, notice, warning, warn (same as  warning),
       err,  error  (same  as err), crit, alert, emerg, panic (same as emerg).

mysql57密码忘了

1.vi /etc/my.cnf
2.在[mysqld]中添加
skip-grant-tables
3.重启mysql
systemctl restart mysqld
mysql -uroot -p  (回车)
update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';
flush privileges;

netstat -nt | awk '{++S[$NF]}END{for(a in S) print a,S[a]}'

SYN_RECV表示正在等待处理的请求数;ESTABLISHED表示正常数据传输状态;TIME_WAIT表示处理完毕,等待超时结束的请求数。
  状态:描述

  CLOSED:无连接是活动 的或正在进行

  LISTEN:服务器在等待进入呼叫

  SYN_RECV:一个连接请求已经到达,等待确认

  SYN_SENT:应用已经开始,打开一个连接

  ESTABLISHED:正常数据传输状态

  FIN_WAIT1:应用说它已经完成

  FIN_WAIT2:另一边已同意释放

  ITMED_WAIT:等待所有分组死掉

  CLOSING:两边同时尝试关闭

  TIME_WAIT:另一边已初始化一个释放

  LAST_ACK:等待所有分组死掉
[root@web ~]# yum -y install redhat-lsb-core-4.1-27.el7.centos.1.x86_64
[root@web ~]# lsb_release -r
Release:    7.4.1708
<Directory "/var/www/html/site1">
    AllowOverride None
    Require all granted
    <RequireAll>
    Require not ip 127.0.0.1
    Require all granted
    </RequireALL>
</Directory>

1.查看http的并发请求数与其TCP连接状态

netstat -nt | awk '/^tcp/ { ++S[$NF]} END{ for (i in S){ print i,S[i] }}'

2.用tcpdump嗅探80端口的访问看看谁最高

tcpdump -i ens33 -tnn dst port 80 -c 1000 | awk -F "." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr | head -20 

3.判断主从是否同步

slave_io_running
slave_sql_running

4.21 80 9000 27017 8080 端口对应哪些服务的默认端口

 ftp、http、hadoop 、mongodb、tomcat

5.hosts文件有什么作用

1、加快域名解析 2、方便局域网用户 在很多单位的局域网中,会有服务器提供给用户使用。
3、屏蔽网站 

6.查看占用80端口的进程

[root@localhost ~]# lsof -i:80
COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd   3235   root    4u  IPv6  41888      0t0  TCP *:http (LISTEN)
httpd   3238 apache    4u  IPv6  41888      0t0  TCP *:http (LISTEN)
httpd   3239 apache    4u  IPv6  41888      0t0  TCP *:http (LISTEN)
httpd   3240 apache    4u  IPv6  41888      0t0  TCP *:http (LISTEN)
httpd   3303 apache    4u  IPv6  41888      0t0  TCP *:http (LISTEN)
[root@localhost ~]# netstat -tunlp |grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      3235/httpd  

7.apache2.x版本有哪几种工作模式,默认的是哪种,如何查看当前的工作模式?

 默认:prefork
https://www.cnblogs.com/lin1/p/5648651.html
vim /etc/httpd/conf.modules.d/00-mpm.conf
http -V 或httpd -l

8.压缩打包/home/html 下除了caches文件夹外的所有文件

tar -cvzf html.tar.gz /home/html --exclude=/home/html/caches 

9.删除/home/back/下三天前产生,并且以tar.gz结尾的文件?
find /home/back -mtime +3 -name "*.tar.gz"
10.linux本机IP为192.168.44.140 配置防火墙对 192.168.44.0/24网段开放

iptables -I INPUT -s 192.168.44.0/24 -p tcp -j ACCEPT
拒绝访问本机22端口
iptables -I INPUT -p tcp --dport 22 -j REJECT
[root@localhost ~]# iptables -D INPUT 1  D删除1条目
iptables -P INPUT DROP

11.git版本控制器,使用命令查看tag为v6.3的版本和当前版本有哪些文件做修改(只查看文件名字)

git diff --name-only v6.3

12.MAC地址48位2进制数组成

13.面向连接的协议

一台计算机上的应用程序启动与另一台计算机的面向连接的会话,它通过访问基本的通信协议
来请求这样的对话。在传输控制协议/因特网协议(TCP/IP)组中,TCP提供面向连接的服务,而IP(较低
层的协议)提供传输服务。在NetWare SPX/IPX协议组中,SPX提供面向连接的服务。

14.一台主机要实现通过局域网与另一个局域网通信,需要做的工作是什么?

定义一条本机指向目标网络网关的路由

15.在局域网络内的某台主机用ping命令测试网络

连接时发现网络内部的主机都可以连同,而不能与公网连通,问题可能是`
局域网的网关或主机的网关设置有误

16.将回车换成空

cat test.txt | tr "\n" " "
sed ':label;N;s/\n/ /;b label' test.txt
:label;  这是一个标签,用来实现跳转处理,名字可以随便取(label),后面的b label就是跳转指令
N;  N是sed的一个处理命令,追加文本流中的下一行到模式空间进行合并处理,因此是换行符可见
s/\n/:/;   s是sed的替换命令,将换行符替换为冒号
b label  或者 t label    b / t 是sed的跳转命令,跳转到指定的标签处

17.raid

raid全称磁盘阵列

推荐阅读更多精彩内容