网络的一些笔记

来源:互联网 发布:海洋cms影视模板 编辑:程序博客网 时间:2024/06/05 20:44
网络命令:write
     指令名称:write
     指令所在路径:/usr/bin/write
     执行权限:所有用户
     语法:write<用户名>
     功能描述:给用户发信息,以Ctrl+D保存结束
     范例:  write  linzhiling
给指定用户:linzhiling  发信息
注意:必须是在线的用户。(可以用  who  w   命令来查询在线的用户)

网络命令:wall
     指令名称:wall
     命令英文愿意:write  all
     指令所在路径:/usr/bin/wall
     执行权限:所有用户
     语法:wall  [message]
     功能描述:发广播信息
     范例:wall  ShenChao  is  a  honest  man! 
给所有在线用户发信息;
注意:必须是在线的用户。(可以用  who  w   命令来查询在线的用户)

网络命令:ping   远程探测命令. 给远程主机发送一个信息包
     命令名称:ping
     命令所在路径:/bin/ping
     执行权限:所有用户
     语法:ping  选项   IP地址
               -c  制定发送次数
     功能描述:测试网络连通性
     范例:ping  192.168.1.156
     返利:ping  -c  3 192.168.1.156  --- ping3次退出
注意:此命令会一直ping,如果停止  Ctrl+C强制退出。

网络命令:ifconfig
     命令名称:ifconfig
     命令英文原意: interface  configure
     命令所在路径:/sbin/ifconfig
     执行权限: root
     语法:ifconfig   网卡名称  IP地址
     功能描述:查看和设置网卡信息
     范例:ifocnfig   eth0  192.168.8.250

网络命令:mail   邮件命令
     命令名称:mail
     命令所在路径: /bin/mail
     执行权限: 所有用户
     语法:mail  [用户名]
     功能描述:查看发送电子邮件
     范例: mail  root            
Ctrl+D 保存发送。
     接收查看: mail 即可查看 
1     查看对应序号的邮件
h     查看邮件列表
d  1     删除第一封邮件
q     退出

网络命令:last  常用的日志查询命令,因为这个命令的结果很重要。
     命令名称:last
     命令所在路径:/usr/bin/last
     执行权限:所有用户
     语法:last
     功能描述: 列出目前与过去登入系统的用户信息
     范例: last
     查看用户最后一次登陆的信息:lastlog
   lastlog  -u  502  根据用户UID查看对应用户信息。
备注:统计当前计算机所有用户登陆时间的信息。也会统计重启时间。

网络命令: traceroute
     命令名称:traceroute
     命令所在路径:/bin/traceroute
     执行权限:所有用户
     语法:traceroute
     功能描述:  显示数据包到主机间的路径
     范例:traceroute   www.lampbrother.net
备注:使用该命令可跟中路由


在实际当中很使用。可根据经过的IP,来判断网络问题位置。

网络命令: netstat    此命令在服务器上非常广泛。
     命令名称:netstat
     命令所在路径: /bin/netstat
     执行权限:所有用户
     语法:netstat  [选项]
     功能描述: 显示网络相关信息
选项:
     -t     :     TCP协议     传输控制协议简称 --- 是面向链接的协议。数据包错误可以重传。
     -u    :     UDP协议     用户数据报协议简称
     -l     :     监听     查看监听的接口
     -r     :     路由     查看网关
    -n     :     显示IP地址和端口号
    -p     :     显示进程号 PID  及名称
范例:
     netstat   -tlun          查看本机监听的端口 。 端口相当于收件人。
     netstat    -an           查看本机所有的网络链接
          最上是:服务状态。再下:启动的程序
          与  -tlun的区别: -an可以查看到正在链接的接口。
     netstat   -rn             查看本机路由表   
备注:链接的SSH端口是22。 我链接到这个Linux的端口是1024以上随机分配的端口。
     不管是访问服务,还是网站,发起端口是随机的。
     只有目标端口是固定的。

网络命令: setup
     命令名称: setup
     命令所在路径: /usr/bin/setup
     执行权限:root
     语法: setup
     功能描述: 配置网络
     范例: setup
 
配置完后需要:service network  restart   重启网络服务

挂载命令
     命令名称:mount
     命令位置:/bin/mount
     执行权限:所有用户
     命令语法: mount [-t  文件系统]  设备文件名   挂载点
     范例: mount  -t  iso9660  /dev/sr0/mnt/cdrom

shutdown命令
     [root@localhost ~]#  shutdown  [选项]  时间
选项:
     -c:     取消前一个关机命令
     -h:     关机     
     -r:     重启
例如:shutdown  -h  now  --- 关机
          shutdown  -r   now --- 重启
只有shutdown命令关机,重启会正确保存数据,及服务。
      更安全。
注意:如果关机或重启的话,应该把相关服务关闭停止,让硬盘空闲下来。然后使用shutdown命令执行关机,或重启。

     [root@localhost ~]#  halt
     [root@localhost ~]#  poweroff
     [root@localhost ~]#  init  0
以上3种命令都可以实现关机。

其他重启命令:
     [root@localhost ~]#  reboot
     [root@localhost ~]#  init  6

系统运行级别:
     0     关机
     1     单用户
     2     不完全多用户,不含NFS服务 --- 没有网络。
            NFS服务验证用户机制不安全。含有安全隐患,所以不建议使用NFS服务文件共享。
     3     完全多用户
     4     未分配
     5     图形界面
     6     重启
     [root@localhost ~]# runlevel
查询系统运行级别

其中在:/etc/inittab  文件就是进程的配置文件。
注意:一般在Linux中 大写的  X  代表图形界面




yum  list  telnet  :查看那 telnet 是否安装了?




抓包工具:
tcpdump 默认是安装了的。---是字符界面的
     除了支持  and   也支持  or  连接

tcpdumpe  -i  eth0  port  53 
#抓取指定端口 53 的数据包

tcpdump   -i   eth0
#主区指定网卡的数据包,不管什么数据包都会抓到。数据大,特别乱

tcpdump  -i  eth0  src   host    192.168.196.131   and   dst   host    192.168.1.115
#用host指定主机 ,如果是网段 把hosut 改成net,抓取某一个网段的数据包,只抓取  源 src 主机  到  目标主机  dst  的数据包,返回的数据包不抓。
#这样抓取的 是单向数据包,也就是只有从  192.168.169.131 出去的数据包抓,回来的数据包不处理。
###这时候我们只能看到   reply (回应)

如果:
   tcpdump -i eth0  dst  host  192.168.196.131  and   src  host   192.168.1.115 
#只抓取  192.168.1.115  发送过来的数据包  ---只能看到  request (请求数据包)


tcpdump   -i   eth0   host  192.168.197.131   and   host   192.168.1.115
#只要是这2个主机之间的数据包都抓(不管去的还是来的)。其他主机通信的数据包不抓。
###只要是 这2个主机之间的数据包,都抓。其他主机的数据包是不抓的。

tcpdump   -i   eth0   host   192.168.197.131   and   host   192.168.1.115   and  dst   port   21
#只抓取这2个主机之间的数据包,  并且  目的  端口是:21  通信的数据包。

tcpdump  -i  eth0  host   192.168.197.131  and  host  192.168.1.115  and  dst  port 21  -X
#  -X :抓包的数据以十六进制显示。

wireshark-gnome  有图形界面的。抓包工具


nc工具实现俩台主机文件传输
nc.x86_64
netcat  : 可以用来扫描网络,也可以在2台主机之间传输文件
     nc   -v   192.168.197.131   -z  1-200
#扫描主机为:192.168.1971.131的   1到200之间的端口。
# -v  显示详情    -z  指定端口号范围

dd  if=/dev/zero   of=/root/file    bs=1M   count=100

如何实现  nc  在2台主机之间传输文件:
     1、首先在客户机  打开一个监听端口  
          nc   -l   10000   >  newfile
          # 将接收的内容重定向到  新的文件。
     2、发送端:
          nc   客户机IP   10000  <  文件
###  这个  10000  端口是接收端的端口。
###  要注意 : 先打开接收的端口,然后再传输文件


服务越多,产生的漏洞可能就越多
https://pkgs.org/  yum源

扫描指定IP主机上开启了哪些TCP端口
     nmap   -sT   192.168.197.131

扫描开启了哪些UDP端口
     nmap   -sU  192.168.197.131

扫描指定网段上哪些主机在运行
     namp   -sP  192.168.197.0/24

扫描指定主机IP上运行的版本信息
     nmap   -sV   192.168.197.131

扫描目标主机运行的是什么操作系统
     nmap  -O  --sscan-guess  192.168.197.131


setroubleshoot   可以帮助排查SELinux中出现的错误

iptables  与  sngt(入侵检测系统)
###这2个经常联合在一起,防护内网的安全。


设置路由

现在有4台主机,A  B   C   D
如果A要发送的数据包,发往不同网段数据包,必须要有网关,

为当前网卡添加一条网关:
     route  add  default   gw  192.168.30.2
#添加默认网关

删除添加的一条默认网关
     route  del  default  gw  192.168.30.2
#删除网关

设置静态路由:设置数据包的走向:
     route  add   -net   30.0.0.0/24   dev eth1     
##设置一个,如果是发往30.0.0.0网段的数据包  从 eth1 出去。
#这样如果重启网络就没有了,需要手动创建配置我呢件  

创建静态路由表
/etc/sysconfig/network-scritps/route-eth1
#这样就会永久生效

如果要是去30.0.0.0网段的数据包 发送到 eth1出去,  网关是  20.0.0.2

如果有多张网卡,连接这不同的网段。
不同的网卡连接着不同的网段,也就是有不同的网关

###设置网卡的网关时,指定哪一张网卡
     route  add  default  gw  192.168.30.2  dev  eth1
#添加网关时,指定网卡设备。    
##需要注意的是:添加的网关必须跟网卡的IP在同一个网段。


如果网卡设置了  DHCP 自动获取:
     dhclient   eth0
#设置eth0通过DHCP服务器自动获取IP

traceroute命令工作原理:第一次发送数据包的时TTL为1,每经过一个路由器TTL减1,当TTL为0的时候就会返回,然后第二次发送数据包TTL为2,再当TTL存活期为0的时候再返回,依次累加,直至达到目标主机。
在IP包头中有一个   TTL  :叫存活期(默认值:255),每经过一个路由器,TTL就会减1,


ARP代理:
 场景描述: 有 A(10.0.0.2)-->B-->C(10.0.0.4) 3台主机在一个网段,但是现在如果A ping C是ping不同的,这时候就需要在B上做arp的代理,(B 有2个网卡 eth0:10.0.0.1  eth1:10.0.0.3)
  arp -i eth0 -s 10.0.0.4 00:0C:29:33:87:82 pub
#在eth0 网卡上设置arp代理,接收发往10.0.0.4的数据包
  arp  -n
#查询arp代理。
  route  add  -host  10.0.0.4  eht1
#去往 10.0.0.4 的数据包从 eth1 出去。添加的是单机的路由。

设置回应的数据包可以返回:
  arp  -i  eth1  -s 10.0.0.2 00:0C:29:94:19:FB pub
#在eth1上设置代理,接收发往 10.0.0.2 的数据包
  route  add  -host  10.0.0.2 eth0
#所有发往 10.0.0.2的数据包都从 eth0出去

设置静态路由:设置数据包的走向:
     route  add   -net   30.0.0.0/24   dev eth1



查看开启了哪些端口,并有哪些主机与当前服务器建立着连接。不同连接有不同的作用
可以使用命令:
     netstat    -ntulp
#查看连接,
     -n不做反向解析  
     t查看TCP   
     u查看的是UDP  
     l:listen(正在监听的) 
     p:显示这些端口所对应的进程,也就是这些端口是由哪些进程打开的

##可以根据查看   netstat   -ntulp  过滤对应服务打开的端口,从而判断出对应的服务是否是打开的。如果对应的端口没有过滤到,那么对应的服务是没有开启的。

netstat 命令查看网关:  
     netstat   -rn


host:作用显示主机名与IP地址的对应关系
     host:解析主机名,必须在当前环境中有DNS服务器才可以,否则是没办法解析的。
DNS:作用就是把主机名对应成IP地址。从而用  host  就可以判断出来。
     host   www.baidu.com
#如果环境已经配置了DNS服务器, 显示baidu这个主机对应点IP地址

     nslookup  直接输入命令回车   exit  退出
#输入server 查看当前使用的DNS服务器是哪一台。
###注意这里的   192.168.197.2  不是真的 DNS,这是虚拟机里面自带的
##以上设置   如果退出  nslookup  设置的  DNS  会失效。
     nslookup   www.baidu.com
#也可以查看主机名,对应的IP地址。

################################
在DNS的时候会经常用到   host    nslookup 
这2个命令
################################

临时修改当前系统的DNS:





Telnet  远程连接:
     服务端安装:
          yum  -y  install  telnet-server
     客户端安装:
          yum  -y  install  telnet

在cmd中登录telnet服务器:
          telnet  192.168.30.250

通过telnet查看网站:
     telnet   www.baidu.com 80


安装 lftp---quit退出
     yum  -y   install  lftp
登录:lftp   192.168.30.250   :支持颜色显示,支持tab补齐
默认:是匿名用户登录的。
登录时指定用户明:
     lftp  192.168.30.250   -u    user1


安装一个  聊天的  工具:
     yum  -y   install   pidgin
#这个工具可以使用一些聊天工具  直接输入:pidgin  即可。


字符界面查看网页:
     links  可以查看网页  是为了在字符界面下浏览网页的。
安装links工具包:
     yum   -y  install  elinks 
##安装完后就可以直接使用:  links   www.baidu.com  浏览网页  按  esc 会出现菜单。 按q退出


wget 命令下:
     功能很强大,但是后面跟的路径必须是完整的路径才可以。
     默认是下载到当前目录。
下载的时候指定下载另存:
     wget  ftp://192.168.30.250/pub/hosts.txt -P  /opt/
##加-P 大写的p。即可指定下载到指定的目录