ARP攻击之Kali Linux局域网断网攻击

作者:荒原之梦

特别声明:

我们学习研究网络安全技术的目的应是为了维护网络世界的安全,保护自己和他人的私有信息不被非法窃取和传播。请您遵守您所在地的法律,请勿利用本文所介绍的相关技术做背离道德或者违反法律的事情。

Special statement:

The purpose of our study of cyber security technology should be to maintain the security of the cyber world and protect the private information of ourselves and others from being illegally stolen and disseminated. Please comply with your local laws. Do not take advantage of the relevant technology introduced in this article to do anything that deviates from morality or against the law.

前言:

ARP攻击是基于ARP协议的工作模式进行的,关于ARP协议和ARP攻击的基础知识请查看我的这篇博文ARP协议与ARP攻击入门

ARP攻击能够实现的技术前提有两个,一是作为攻击者的计算机需要和被攻击者的计算机在一个局域网中,二是作为攻击者的计算机需要知道被攻击者计算机的局域网IP。本文将模拟真实的攻击过程,在不与被攻击的计算机发生物理接触的情况下实现对其的局域网断网攻击。

网络拓扑图

图 1

注:在这里,作为攻击者的计算机使用的是安装在VMware  Workstation中的Kali Linux,我们需要在VMware的设置中将Kali的联网方式改为“桥接模式”,并且不要勾选“复制物理网络连接状态”。

获取目标主机IP

在这里,我们使用Ettercap对内网进行扫描以获取目标主机IP和网关的信息。输入命令:

ettercap -G

打开Ettercap的GUI界面:

图 2

依次点击“Sniff(嗅探) -> Unified sniffing(统一嗅探)”,之后弹出如下界面让选择进行扫描的网络接口(Network interface):

图 3

这里我们使用默认的eth0端口。点击“OK”。

之后依次点击“Hosts(主机) -> Scan for hosts(扫描主机)”。

这时会出现一个进度条,等待进度条结束,依次点击“Hosts -> Hosts list(主机列表)”即可显示本机所在局域网中除本机之外,当前已连接至网络的设备的IP地址和MAC地址:

图 4

注:Ettercap扫描结果的第一项一般是本局域网中的网关,如图中的192.168.50.1就是实验时局域网中的默认网关。

这样我们就获得了目标主机的IP和本局域网的网关。

对局域网内的目标主机实施断网攻击

我们使用Kali Linux中的Arpspoof进行ARP攻击。

在实施断网攻击前,我们先测试一下目标主机192.168.50.130是不是能上网,输入命令:

ping www.baidu.com

发现可以Ping通,说明目标主机在攻击开始之前是可以上网的。

在我们的攻击机上,即Kali中,输入命令:

arpspoof [-i interface] [-c own|host|both] [-t target] [-r] host

e.g:

arpspoof -i eth0 -t 192.168.50.130 192.168.50.1

回车就开始对目标主机进行断网攻击了,此时我们在目标主机上执行命令:

ping www.baidu.com

就会返回一个错误提示:“Ping请求找不到主机www.baidu.com”。

通过上述命令产生的Arpspoof的攻击进程不会自动停止,除非当前攻击链路被中断,如攻击机关机或者断开与当前局域网的连接,或目标机关机或者断开与当前局域网的连接或者更改了其在当前局域网内的IP地址。我们可以在Arpspoof进程所在终端上使用“Ctrl+Z”手动关闭Arpspoof的攻击进程。

关闭Arpspoof的攻击进程后,之前被攻击的目标主机一般会在几秒钟的时间内自动恢复正常的网络连接。

附:

Ettercap0.8.2的帮助信息(命令ettercap -help):

ettercap 0.8.2 copyright 2001-2015 Ettercap Development Team



Usage: ettercap [OPTIONS] [TARGET1] [TARGET2]


TARGET is in the format MAC/IP/IPv6/PORTs (see the man for further detail)


Sniffing and Attack options:

-M, --mitm <METHOD:ARGS>    perform a mitm attack

-o, --only-mitm             don't sniff, only perform the mitm attack

-b, --broadcast             sniff packets destined to broadcast

-B, --bridge <IFACE>        use bridged sniff (needs 2 ifaces)

-p, --nopromisc             do not put the iface in promisc mode

-S, --nosslmitm             do not forge SSL certificates

-u, --unoffensive           do not forward packets

-r, --read <file>           read data from pcapfile <file>

-f, --pcapfilter <string>   set the pcap filter <string>

-R, --reversed              use reversed TARGET matching

-t, --proto <proto>         sniff only this proto (default is all)

--certificate <file>    certificate file to use for SSL MiTM

--private-key <file>    private key file to use for SSL MiTM


User Interface Type:

-T, --text                  use text only GUI

-q, --quiet                 do not display packet contents

-s, --script <CMD>          issue these commands to the GUI

-C, --curses                use curses GUI

-D, --daemon                daemonize ettercap (no GUI)

-G, --gtk                   use GTK+ GUI


Logging options:

-w, --write <file>          write sniffed data to pcapfile <file>

-L, --log <logfile>         log all the traffic to this <logfile>

-l, --log-info <logfile>    log only passive infos to this <logfile>

-m, --log-msg <logfile>     log all the messages to this <logfile>

-c, --compress              use gzip compression on log files


Visualization options:

-d, --dns                   resolves ip addresses into hostnames

-V, --visual <format>       set the visualization format

-e, --regex <regex>         visualize only packets matching this regex

-E, --ext-headers           print extended header for every pck

-Q, --superquiet            do not display user and password


LUA options:

--lua-script <script1>,[<script2>,...]     comma-separted list of LUA scripts

--lua-args n1=v1,[n2=v2,...]               comma-separated arguments to LUA script(s)


General options:

-i, --iface <iface>         use this network interface

-I, --liface                show all the network interfaces

-Y, --secondary <ifaces>    list of secondary network interfaces

-n, --netmask <netmask>     force this <netmask> on iface

-A, --address <address>     force this local <address> on iface

-P, --plugin <plugin>       launch this <plugin>

-F, --filter <file>         load the filter <file> (content filter)

-z, --silent                do not perform the initial ARP scan

-6, --ip6scan               send ICMPv6 probes to discover IPv6 nodes on the link

-j, --load-hosts <file>     load the hosts list from <file>

-k, --save-hosts <file>     save the hosts list to <file>

-W, --wifi-key <wkey>       use this key to decrypt wifi packets (wep or wpa)

-a, --config <config>       use the alterative config file <config>


Standard options:

-v, --version               prints the version and exit

-h, --help                  this help screen

ARP协议与ARP攻击入门

作者:荒原之梦

一 ARP协议

ARP协议是一个年代相当“久远”的网络协议。ARP协议制定于1982年11月,英文全称:Address Resolution Protocol,即“地址解析协议”。

我们知道,虽然终端设备想要上网必须具有公有IP地址,但是在Internet的TCP/IP协议中,IP地址的作用是标识一台主机或路由器与一条链路的接口,也就是说IP地址指明了数据由一个网络传输到另一个网络的路径,但是我们知道,为了节约IP地址,通常情况下,在一个内部网络中,主机常常使用RFC规定的三种私有IP地址作为局域网中主机的IP地址,而且主机的IP地址是由该网络的路由器动态分配的,如果数据的传输仅仅依赖于IP地址,那么当数据到达一个内部网络中时就可能因为目标主机的IP地址发生改变而将数据传输到了错误的目标主机。但是不同设备的物理地址(MAC)是全网唯一的,而且一般也不会被改变(MAC地址是写入网卡的,固定的),因此使用MAC地址作为信息的标识,定位目标网络设备就可以保证信息能够正确抵达目标主机。而通过目标设备的IP地址查找目标设备的MAC地址就是ARP协议的基本功能。

ARP协议的工作过程

由于内部网络中主机的IP地址往往是动态分配的,因此,在主机中是有ARP缓存的,记录着本网络中IP地址与MAC地址的对应关系。那么,这个ARP缓存是怎么生成的呢?首先,当网络中的主机A需要向主机B发送信息时,会将包含目标IP地址的ARP请求广播到该网络中的所有主机上,网络中的其他主机在收到主机A的ARP请求后可以自主的发送ARP应答报文,应答中包含自己的IP和自己的MAC地址,主机B也会发送这样的应答报文给主机A。这样主机A就知道了主机B的MAC地址与IP地址了。

ARP协议的工作是建立在网络中各个主机之间相互信任的基础上的,一台主机在收到其他主机的ARP应答报文时并不会采取措施校验该报文的真实性,而是直接就记录到了自己的ARP缓存中以备下次使用。

ARP攻击

ARP攻击的第一步就是ARP欺骗。由上述“ARP协议的工作过程”我们知道,ARP协议基本没有对网络的安全性做任何思考,当时人们考虑的重点是如何保证网络通信能够正确和快速的完成——ARP协议工作的前提是默认了其所在的网络是一个善良的网络,每台主机在向网络中发送应答信号时都是使用的真实身份。不过后来,人们发现ARP应答中的IP地址和MAC地址中的信息是可以伪造的,并不一定是自己的真实IP地址和MAC地址,由此,ARP欺骗就产生了。

ARP欺骗

ARP的应答报文是可以伪造的。假设一个网络中有3台主机,分别为A、B和C。当主机A向网络中发送了ARP请求时,用于攻击的主机C可以假装是B,然后向主机A发送一个伪造的ARP应答报文,由于A并不会采取措施验证该报文真伪,而是直接存入自己的ARP缓存并在需要时使用(ARP缓存分两种,一种是静态ARP缓存,该类缓存只要主机不关机就一直存在。另一类是动态ARP缓存,该类缓存是有时效限制的,一般ARP动态缓存的最长生命周期是10分钟,如果一个动态缓存项目在2分钟内没有被使用,则删除,如果在两分钟内被使用了,则增加两分钟的生命周期,直到达到10分钟的最长生命周期后进行更新),由此,C就成功的欺骗了A。那么来自主机B的正确的应答报文去哪了?如果A收到了来自B的正确的应答报文,更新了自己的ARP缓存,那么C的ARP欺骗不就失败了吗?确实会发生这种情况,但是如果C不断的向网络中的各台主机大量发送伪造的ARP应答报文,直到同时欺骗了A和B,C就成功的对主机A和B进行了ARP欺骗。接下来C就可以监听A和B之间的流量,伪造A和B的通信内容或者阻止A和B的通信。

为什么ARP攻击只能发生在局域网

当我们在说“ARP攻击”时,我们还常常和另外一个词连系在一起:“局域网”。为什么ARP攻击只能发生在局域网呢?或者说为什么ARP协议只能在局域网内发挥作用?这和互联网通信的原理以及ARP协议的功能有关。简单的说,我们可以这样理解:

我们知道,IP地址位于OSI模型的第三层(网络层),MAC地址位于OSI模型的第二层(数据链路层)。而路由器工作在三层或者三层以上。由此看来,用于连接IP地址与MAC地址的ARP协议是不能跨越第三层的(ARP工作在网络层),因此ARP广播包也不可能通过路由器到达其他网络。

图 1

上面的这个解释很好理解,但是并不是很严密的解释,也没有触及到问题的核心。如果要完全解释“为什么ARP攻击只能发生在局域网内部?”这个问题,我们就必须更深入的理解TCP/IP协议和路由器的工作原理。

在TCP/IP协议中,数据的传输有三种方式:单播、组播和广播。单播就是一对一的通信,组播(也称多播)是一对多的通信(如视频直播)。单播和组播都是可以跨越物理网络进行通信的,也就是进行通信的主机之间可以不在一个子网内部。但是,广播就有一些特别了,由于广播域的存在(一般一个局域网就是一个广播域),所以路由器在收到广播数据时是会拒绝向其它网络转发的,路由器实际上起到了分离广播域,隔离广播数据的作用。

ARP攻击之所以能够产生,就是因为伪造了对ARP广播的应答,综合上述分析可知,如果用于攻击的主机并不在目标网络中,就接收不到目标网络中ARP请求的广播,其伪造的ARP应答也无法到达目标网络。因此,ARP攻击只能发生在局域网(子网)内部。正因如此,我们只能对目标主机IP地址网络号部分以及子网掩码与我们的攻击机器IP地址网络号部分和子网掩码相同的主机发动ARP攻击。

Kali Linux虚拟机安装完整安装过程及简单配置(视频)

附:视频中出现的两个txt文本,包含了大致的安装与配置过程:

文本1:KaliLinux虚拟机安装和初步配置

Kali Linux虚拟机安装和初步配置

大家好,今天给大家演示一下在VMware Workstation 14 pro里安装
Kali Linux的完整步骤和安装完成后的简单配置,包括添加更新源、配置DNS服务器
和安装中文输入法等

下面是详细步骤:

1.下载VMware
官网下载需要注册并登录才能下载,也可以使用
百度软件中心等站点提供的下载资源

双击安装,使用默认设置就可以了

2.下载qBittorrent(这是一个下载torrent种子的软件)

双击安装,使用默认设置就可以了

3.下载Kali种子
为了尽可能减少下载过程中出错的可能性,我们不
直接在浏览器里下载Kali,我们先下载一个torrent种子
,之后在上面下载安装好的qBittorrent里下载Kali

注意:Kali使用64位的在安装过程中可能出现提示说CPU不支持64位
如果出错我们可以改成使用32位的Kali,也就是i386

Kali主要是用于做渗透测试,为了保护我们的物理机真实IP不被暴露,
虚拟机Kali要使用桥接模式上网。

4.安装Kali

5.安装VMware Tools
安装好Tool后我们就可以在物理机和虚拟机Kali之间复制文件了

硬盘改大一点,太小的话可能安装不成功

这个硬盘的大小只是Kali可以使用的存储空间的最大值,不会把这些空间立即分配给Kali

6.添加国内更新源

7.Kali配置DNS服务器

8.Kali安装中文输入法

 

文本2:临时记录

我已经提前下载好了,这里就不再演示下载了

和安装其他软件一样,双击打开
之后使用默认设置安装就可以了

安装好之后就是这个样子了
在“我的计算机”这一栏里是我们安装好的虚拟机

现在给大家介绍一个bt种子下载软件,免费的

这是他的官网,百度搜一下就找到了

我已经下载好了,这里就不再演示下载了
下载好后双击打开,使用默认设置安装就可以啦
安装好之后就是这个样子的
点击绿色的+号可以添加bt种子
待会我们去Kali的官网下载一个Kali的BT种子
之后就可以用它下载了。

认准kali的官网是:
kali.org

这就是Kali的下载界面,前两个分别是64位
和32位的,一般我们先选择使用64位的,如果
64位的安装出错,那么在换32位的,在我是用VMware12的时候出现过在64位的CPU上安装64的Kali出错的情况,不过现在VMware已经更新到14了,没有出现过以前的情况了。

这里我们选择下载kali的bt种子的方式下载Kali

bt种子下载好了,下载可以下载kali了

稍等一会就下载好了,速度会越来越快
我已经下载好kali的系统映像了
这里就不再演示下载了

现在开始在VMware上安装Kali。

我们先在非系统盘里创建一个文件夹,将待会Kali的安装文件都放到这个文件夹里

这一步需要指定我问刚才下载的KALI系统映像文件的路径,该文件是以.iso结尾的。

Kali是Debian的发行版,我们这里选择系统的版本为Debian

把安装位置改成我们刚才新建的文件夹,这样方便管理

把鼠标放到Kali的屏幕上点击一下鼠标就进到虚拟机里了,使用Ctrl+Alt组合键可以再把鼠标返回到物理机

使用倒数第3个选项就可以图形化安装Kali

这里设置root用户的密码
kali是一个单用户操作系统,只有一个管理员(root)账户

这里需要安装一会时间
我先暂停一下

好了,欢迎回来!

安装即将结束

再等一会………………
再等一会………………

开机啦!!!

待会输入用户名:root
密码就是刚才设置的root密码:*****
现在Kali和物理机是相互隔离的
没法互相复制文件
我们试试看

真的拖不进来

现在我们安装VMware Tools
安装好之后就可以互相复制文件了

全部使用回车,使用默认设置

待会我们要给系统做一个快照,这样一旦我们今后做什么事把系统弄坏了,还可以回到现在这个初始状态

VMware现在安装好了
可以复制文件了,我们试试看吧

没复制上…………

我们重启看看…………

我先暂停一下………………

欢迎回来
刚才我重启启动了Kali
现在真的可以复制了
我们试一下吧

好了
下一步我们要添加Kali的国内更新源,这样以后下载工具时会快一点

对了,先拍个快照

我的博客上记录有最新的国内镜像网站,我们打开看一下

更新源添加好了,但是我们现在没办法在Kali里输入中文

下载我们就来安装中文输入法

在安装中文输入法之前我们先来配置一下DNS服务器,这样就可以上网了

如果不项配置也可以在VMware的设置里面将联网模式改成NAT模式

NAT模式使用的物理机的IP,可以直接上网。
下面配置DNS服务器
使用的是阿里云的公共DNS服务器;
223.5.5.5
223.6.6.6

现在开始安装中文输入法

下面我们去搜狗官网下载Linux版的搜狗输入法

出现软件包依赖问题
可以使用
apt-get install -f
解决依赖问题

现在重启一下

现在可以输入中文啦

谢谢收看

解决VMware虚拟机报错“无法连接MKS:套接字连接尝试次数太多,正在放弃”

1.错误描述

在VMware中打开虚拟机时报错:
“无法连接MKS:套接字连接尝试次数太多,正在放弃”
物理机操作系统:
Windows 7
虚拟机操作系统:
Kali Linux

2.解决办法如下

a.关闭出问题的虚拟机

b.依次打开:

“我的电脑”->“管理”->“服务和应用程序”->“服务”

c.右键启动以下服务:

VMware Authorization Service
VMware DHCP Service
VMware NAT Service
VMware USB Arbitration Service
VMware Workstation Server

开启原来出问题的虚拟机,可以正常启动,问题解决。

导航狗信息导航网站首页源代码(2017年11月03日版)

导航狗信息导航网址:http://www.daohanggou.wang/

<html>

<style> 
body{ text-align:center} 
.div1{ margin:0 auto; width:1000px; height:100px; border:1px} 
</style> 

<head>
  <title>导航狗信息导航-您的一站式信息服务平台</title>

  <link rel="icon" href="http://www.daohanggou.wang/huhuyp/web/favicon.ico" type="image/x-icon">

  <link rel="shortcut icon" href="http://www.daohanggou.wang/huhuyp/web/favicon.ico" type="image/x-icon">

<script>
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?ac6134fce8960896d0d72e97aeabd2f7";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
</script>

</head>

<meta charset="utf-8">

<div class = "div1">
<body bgcolor="#F0E68C">

    <a href="http://www.daohanggou.wang/" title="导航狗"><img src="http://wx4.sinaimg.cn/mw690/006CBL8rly1fl2xy5l6jwj306s02q0so.jpg" alt="logo"><a>

<center>
<input name=ie type=hidden value=utf-8>
<form onsubmit="return baiduWithHttps(this)" action="http://www.baidu.com/baidu" target="_blank">
    <input name="tn" type="hidden" value="SE_zzsearchcode_shhzc78w">
    <input type="text"  onfocus="checkHttps" name="word"  size="30">
    <input type="submit"value="百度搜索">
</form>
<script src="http://s1.bdstatic.com/r/www/cache/global/js/BaiduHttps_20150714_zhanzhang.js"></script>
<script>
    function checkHttps () {
        BaiduHttps.useHttps();    
    };
    function baiduWithHttps (formname) {
        var data = BaiduHttps.useHttps();
        if (data.s === 0) {
            return true;
        }
        else {
            formname.action = 'https://www.baidu.com/baidu' + '?ssl_s=1&ssl_c' + data.ssl_code;
            return true;
        }
    };
</script>
</center>

<form>
  <fieldset>
    <legend></legend>
  <nav>
  <a href=""></a>
  </nav>
  </fieldset>
</form>

<form>
  <fieldset>
    <legend><li>英语学习</li></legend>
<nav>
  <font size="3">
    <a href="http://www.ftchinese.com/channel/ce.html" target="_blank">FT中文网 双语阅读</a>	|
    <a href="http://www.ftchinese.com/channel/speedread.html" target="_blank">FT中文网 FT英语速读</a>	|
    <a href="http://www.ftchinese.com/channel/ev.html" target="_blank">FT中文网 原声视频</a>	|
    <a href="http://www.ftchinese.com/channel/radio.html" target="_blank">FT中文网 FT英语电台</a>	|
    <a href="http://www.npr.org/" target="_blank">美国国家公共广播电台</a>	|
    <a href="http://edition.cnn.com/" target="_blank">美国有线电视新闻网CNN</a>	|
    <a href="http://www.bbc.com/news" target="_blank">BBC新闻</a>	|
    <a href="https://www.ted.com/" target="_blank">TED</a>	|
    <a href="http://www.iciba.com/" target="_blank">金山词霸</a>	|
    <a href="http://fanyi.baidu.com/" target="_blank">百度翻译</a>	|
    <a href="http://fanyi.youdao.com/" target="_blank">有道翻译</a>	|
    <a href="https://translate.google.cn/" target="_blank">Google翻译</a>	|
    <a href="http://dict.cn/" target="_blank">海词词典</a>	|
  </font>
</nav>

  </fieldset>
</form>

  <br>

<form>
  <fieldset>
    <legend><li>计算机资源镜像站</li></legend>

<nav>
  <font size="3">
    <a href="http://mirrors.aliyun.com/" target="_blank">阿里云开源镜像站</a>	|
    <a href="http://mirrors.163.com/" target="_blank">网易开源镜像站</a>	|
    <a href="http://mirrors.ustc.edu.cn/" target="_blank">中国科学技术大学开源镜像站</a>	|
    <a href="https://mirrors.tuna.tsinghua.edu.cn/" target="_blank">清华大学开源软件镜像站</a>	|
    <a href="http://ftp.sjtu.edu.cn/" target="_blank">上海交通大学开源镜像站</a>	|
    <a href="http://mirrors.zju.edu.cn/" target="_blank">浙江大学开源镜像站</a>	|
    <a href="http://mirror.neu.edu.cn/" target="_blank">东北大学开源镜像站</a>	|
    <a href="http://www.debian.org/mirror/list" target="_blank">Debian全球镜像站</a>	|

  </font>
</nav>

  </fieldset>
</form>

  <br>

<form>
  <fieldset>
    <legend><li>Linux</li></legend>

<nav>
  <font size="3">
    <a href="https://www.linux.org/" target="_blank">Linux</a>
    <a href="https://www.kali.org/" target="_blank">Kali Linux</a>	|
    <a href="http://www.kali.org.cn/" target="_blank">Kali Linux中文网</a>	|
    <a href="https://www.ubuntu.com/index_kylin" target="_blank">Ubuntu Linux</a>	|
    <a href="https://www.centos.org/" target="_blank">CentOS Linux</a>	|
    <a href="https://access.redhat.com/" target="_blank">RedHat Linux</a>	|
    <a href="http://www.chinaunix.net/" target="_blank">ChinaUnix</a>	|
    <a href="http://www.linuxidc.com/" target="_blank">Linux公社</a>	|
    <a href="http://linux.vbird.org/" target="_blank">鸟哥的Linux私房菜</a>	|
    <a href="https://linux.cn/" target="_blank">Linux中国开源社区</a>	|
    <a href="http://www.linuxdiyf.com/" target="_blank">红联Linux</a>	|
    <a href="http://www.linuxeden.com/" target="_blank">Linuxeden开源社区</a>	|
    <a href="https://www.linuxfoundation.org/" target="_blank">The Linux Foundation</a>	|
  </font>
</nav>

  </fieldset>
</form>

  <br>

<form>
  <fieldset>
    <legend><li>计算机程序设计</li></legend>

<nav>
  <font size="3">
    <a href="https://www.python.org/" target="_blank">Python</a>	|
    <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank">Java SE</a>	|
    <a href="http://www.runoob.com/" target="_blank">RUNOOB</a>	|
    <a href="http://www.w3school.com.cn/" target="_blank">W3school</a>	|
    <a href="https://www.eclipse.org/" target="_blank">Eclipse</a>	|
  </font>
</nav>

  </fieldset>
</form>

  <br>

  <form>
  <fieldset>
    <legend><li>云计算服务提供商</li></legend>

<nav>
  <font size="3">
    <a href="https://www.aliyun.com/" target="_blank">阿里云</a>	|
    <a href="https://cloud.tencent.com/" target="_blank">腾讯云</a>	|
    <a href="https://www.mtyun.com/" target="_blank">美团云</a>	|
    <a href="https://cloud.baidu.com/" target="_blank">百度云</a>	|	
    <a href="http://www.huaweicloud.com/" target="_blank">华为云</a>	|
    <a href="http://www.sinacloud.com/" target="_blank">新浪云</a>	|
    <a href="https://www.jcloud.com/index" target="_blank">京东云</a>	|
    <a href="https://www.qingcloud.com/" target="_blank">青云</a>	|
    <a href="https://www.ucloud.cn/" target="_blank">UCloud</a>	|
  </font>
</nav>

  </fieldset>
</form>

  <br>

<form>
  <fieldset>
    <legend><li>资料查询</li></legend>

<nav>
  <font size="3">
    <a href="https://www.wikipedia.org/" target="_blank">维基百科</a>	|
    <a href="https://www.baidu.com/" target="_blank">百度</a>	|
    <a href="https://www.bing.com/?intlF=" target="_blank">Bing</a>	|
    <a href="https://www.zhihu.com/" target="_blank">知乎</a>	|
    <a href="https://www.quora.com/" target="_blank">Quora</a>	|
    <a href="http://www.sowang.com/" target="_blank">搜网</a>	|
    <a href="https://stackoverflow.com/" target="_blank">StackOverflow</a>	|
    <a href="http://www.chongbuluo.com/" target="_blank">虫部落</a>	|
  </font>
</nav>

  </fieldset>
</form>

  <br>

<form>
  <fieldset>
    <legend><li>技术参考</li></legend>

<nav>
  <font size="3">
    <a href="http://www.williamlong.info/" target="_blank">月光博客</a>	|
    <a href="http://www.freebuf.com/" target="_blank">FreeBuf</a>	|
    <a href="http://www.iplaysoft.com/" target="_blank">异次元软件</a>	|
    <a href="https://www.2cto.com/" target="_blank">红黑联盟</a>	|
    <a href="http://bobao.360.cn/index/index" target="_blank">安全客</a>	|
    <a href="https://technet.microsoft.com/en-us/" target="_blank">Microsoft TechNet</a>	|
  </font>
</nav>

  </fieldset>
</form>

  <br>

  <form>
  <fieldset>
    <legend><li>IT资讯</li></legend>

<nav>
  <font size="3">
    <a href="http://www.zol.com.cn/" target="_blank">中关村在线</a>	|
    <a href="https://www.pconline.com.cn/" target="_blank">太平洋电脑网</a>	|
    <a href="http://www.chinablackhat.com/" target="_blank">黑帽网</a>	|
  </font>
</nav>

  </fieldset>
</form>

  <br>

  <form>
  <fieldset>
    <legend><li>IT论坛</li></legend>

<nav>
  <font size="3">
    <a href="https://bbs.pediy.com/" target="_blank">看雪安全论坛</a>	|
    <a href="https://www.52pojie.cn/" target="_blank">吾爱破解</a>	|
    <a href="http://www.cnhonkerarmy.com/forum.php" target="_blank">红客联盟</a>	|
    <a href="https://forum.eviloctal.com/" target="_blank">邪恶八进制社区</a>	|
    <a href="http://bbs.chinablackhat.com/" target="_blank">黑帽论坛</a>	|
    <a href="http://bbs.it-home.org/" target="_blank">程序员之家论坛</a>	|
  </font>
</nav>

  </fieldset>
</form>

  <br>

<form>
  <fieldset>
    <legend><li>代码维护</li></legend>

<nav>
  <font size="3">
    <a href="https://github.com/" target="_blank">GitHub</a>	|
    <a href="https://www.openshift.com/" target="_blank">OpenShift</a>	|
    <a href="https://about.gitlab.com/" target="_blank">GitLab</a>	|
    <a href="https://gitee.com/" target="_blank">码云</a>	|
  </font>
</nav>

  </fieldset>
</form>

  <br>

<form>
  <fieldset>
    <legend><li>站长工具</li></legend>

<nav>
  <font size="3">
    <a href="http://zhanzhang.baidu.com/" target="_blank">百度站长平台</a>	|
    <a href="http://tool.chinaz.com/" target="_blank">站长之家 站长工具</a>	|
    <a href="https://thepaperwall.com/" target="_blank">The Paper Wall</a>	|
  </font>
</nav>

  </fieldset>
</form>

  <br>

<form>
  <fieldset>
    <legend><li>放松一下</li></legend>

<nav>
  <font size="3">
    <a href="https://daily.zhihu.com/" target="_blank">知乎日报</a>	|
    <a href="http://jandan.net/" target="_blank">煎蛋</a>	|
    <a href="http://www.guokr.com/" target="_blank">果壳</a>	|
    <a href="http://songshuhui.net/" target="_blank">科学松鼠会</a>	|
    <a href="http://www.sfw.com.cn/" target="_blank">科幻世界</a>	|
    <a href="https://what-if.xkcd.com/" target="_blank">What If</a>	|
    <a href="https://www.bilibili.com/" target="_blank">哔哩哔哩</a>	|
    <a href="http://huaban.com/" target="_blank">花瓣网</a>	|
  </font>
</nav>

  </fieldset>
</form>

  <br>

  <form>
  <fieldset>
    <legend><li>音乐电台</li></legend>

<nav>
  <font size="3">
    <a href="http://music.163.com/" target="_blank">网易云音乐</a>	|
    <a href="https://douban.fm/" target="_blank">豆瓣FM</a>	|
    <a href="http://www.kugou.com/" target="_blank">酷狗音乐</a>	|
    <a href="https://y.qq.com/" target="_blank">QQ音乐</a>	|
    <a href="http://www.ximalaya.com/explore/" target="_blank">喜马拉雅FM</a>	|
    <a href="http://www.qingting.fm/" target="_blank">蜻蜓FM</a>	|
    <a href="http://www.qpgfm.com/#index.php" target="_blank">青苹果音乐台</a>	|
    <a href="http://www.lizhi.fm/" target="_blank">荔枝FM</a>	|

</nav>

  </fieldset>
</form>

  <br>

<div style="width:1000px;border:1px solid black;"></div>

<center>

<style>
.brh{font-size:12px;line-height:1px;}
</style>

<footer>
  <br />
  <div class=".brh" <span>Copyright &copy 2017.<a href="http://www.daohanggou.wang/">导航狗</a> All Rights Reserved </span><br />
  E-mail:dog@daohanggou.wang
  </div>
</footer>

</center>

</body>

</div>

</html>

解决WordPress无法上传媒体文件以及无法下载和安装主题与插件的问题

作者:荒原之梦

前言:

我的个人博客网站荒原之梦http://zhaokaifeng.com/在安装成功WordPress
之后本来是可以上传媒体文件,安装主题和插件的,但是后来不知道怎么回事就出了问题:不能上传媒体文件也不能安装主题和插件了。出现这个问题后我尝试了去解决,但是一时没能成功完成,后来博文里的图片都放到图床里了,这个问题也就一直被搁置到了今天(这样做是不对的,遇到问题要及时解决)。今天我决定解决这个问题,上网查资料,大概两个小时后弄好了,现在将解决过程记录下来。

操作环境:

1.网站服务器:Linux云服务器

2.网站程序:WordPress 4.7.5

一 我遇到的问题

使用WordPress上传媒体文件和安装主题及插件的时候均无法成功完成并出现如下错误提示:

1.上传媒体文件时显示“无法创建目录&quot;wp-content/*/*”:

图1

2.安装主题或者插件时弹出窗口要求输入FTP账号和密码,输入FTP账号相关信息后点击“安装”,之后又显示安装失败,提示的失败原因是“无法创建目录”:

图2

二 解决步骤如下:

1.    首先用FTP工具连接服务器,在*/wordpress/wp-content目录下将upgrade、themes和plugins都右键设置成766权限,并选中“包含子目录”复选框。

然后我们使用FTP工具在*/wordpress目录中,找到wp-config.php,添加如下代码:

define("FS_METHOD","direct");

define("FS_CHMOD_DIR", 0777);

define("FS_CHMOD_FILE", 0777);

添加后保存,再安装插件已经不再提示输入FTP密码,但是仍然安装失败,并显示“安装失败:无法创建文件(如图2一样)”。此时也无法上传媒体文件。

2.    登陆到数据库

找到数据库中的wp_options,查看其对应的upload_path表的键值是不是wp-content/uploads(不要给键值加双引号),如果为空或者不是该值则改成该值。

之后在wordpress仪表盘中找到“设置->多媒体”,将文件上传路径改成wp-content/uploads(不要给路径加双引号),点击“保存更改”。

这时再尝试上传媒体文件已经可以上传了,但是仍然不能安装主题或插件,安装主题或插件时仍然显示“无法创建目录”

3.    使用ssh工具连接到服务器,进入wordpress的上一级路径,输入:

ls -l wordpress

发现wordpress的用户和组都是root.

也就是说不能下载安装主题和插件并不仅仅是因为权限不够(出现无法创建目录的问题人们最直接的反应就是权限不够,但是我尝试过,即使给upgrade、themes和plugins这些文件夹777的权限,仍然无法解决问题,而且还会因为权限过高产生隐患),而是因为执行下载安装主题和插件的用户组是web用户组(名称一般为www)。

所以我们输入:

chown -R www:www wordpress

将wordpress所属的用户和组全部改成www.

至此问题已全部解决,可以上传媒体文件,以及安装主题和插件了。