打开/etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
auto eth0
iface eth0 inet static
address 192.168.1.199
netmask 255.255.255.0
gatway 192.168.1.1
~                                                                                                             
~

如果dhcp

iface eth0 inet dhcp

网关

/etc/resolv.conf
nameserver 192.168.1.1
nameserver 0.0.0.0  
/etc/init.d/networking restart

失败,查看原因,找不到driver,eth0执行

dmesg | grep eth 

才发现

[5.715564] e1000 0000:02:01.0 eth0: (PCI:66MHz:32-bit) 00:0c:29:7d:bf:43
[5.715573] e1000 0000:02:01.0 eth0: Intel(R) PRO/1000 Network Connection
[5.719709] e1000 0000:02:01.0 ens33: renamed from eth0

所以改成ens33就行了

本机依次安装了 jdk1.8、jdk1.6 和 jdk1.7 三个版本的 jdk,由于maven打包android程序最高只支持到 jdk1.7,因此需要将jdk版本该为1.7。

修改环境变量,将JAVA_HOME的目录定义为jdk1.7所在的目录。然后在命令行中执行 “java -version”,查看当前 java 版本,惊奇的发现竟然还是1.8。

这里写图片描述

于是当即切换到 java1.7 的 bin 目录,还是执行 “java -version”,查看其版本信息,发现显示的是 java1.7,正常。

这里写图片描述

因此怀疑是不是哪里还有 java.exe。这种东西不能只靠猜。

Windows下获取命令执行的路径用 where “cmd”
Linux下获取命令执行的路径用 whereis “cmd”

这里写图片描述

注意:这里是按拼音顺序排的,不是按搜索的优先级顺序排的。

进入 C:\ProgramData\Oracle\Java\javapath 目录,可以看到 java.exe 文件的类型是
.symlink(符号链接类型)指向 C:\Program Files\Java\jre1.8.0_101\bin\java.exe 文件。

将其替换为jdk1.7的java.exe,发现 “java -version”,还是1.8。替换C:\Windows\System32\java.exe中的java.exe后,java版本成功变为1.7。

这说明,命令行中会优先搜索C:\Windows\System32目录下的文件。

apt-get install pptpd

nano /etc/pptpd.conf

选择服务器和客户端ip

nano /etc/ppp/pptpd-options

配置dns

echo “USERNAME pptpd PASSWORD *” |  tee -a /etc/ppp/chap-secrets

快速加用户

/etc/init.d/pptpd restart

重启

nano  /etc/sysctl.conf

打开ipv4转发

sysctl -p

重载

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE  (不管用就去掉eth0)

iptables -t nat -A POSTROUTING  -j MASQUERADE

设置nat

 /etc/rc.local 里面写入上面这句和pptp启动语句,开机自动配置

/etc/init.d/pptpd restart

更新!vultr 建立应用镜像可以瞬间搭建支持手机 2017.5.8

——————————-

搭建vpn首先apt-get安装openvpn,貌似还需要什么lzop,一并装上

然后看看能不能用tun

cat /dev/net/tun

in bad state说明可以

新版openvpn跟easy-rsa是分开的

所以就单独再装上easy-rsa

这里说一下:

当时看别人教程的时候总是以为easy-rsa和openvpn是配套的,这是一开始openvpn捆绑easy-rsa造成的错觉

easy-rsa生成秘钥和公钥,是完全独立的事情,只不过openvpn拿来用罢了

窝草我越来越懒了,连代码格式都懒得上了

先说easy-rsa吧

先cd到easy-rsa文件夹内,找/usr/share/easy-rsa

然后

source vars

蹦出clean啥的乱七八糟的就对了

然后执行:

./clean-all

./build-ca

生成服务端密钥

./build-key-server server

生成客户端密钥

./build-key client  (client1也行,随便起个名)

生成Diffie Hellman

./build-dh

这个时间比较长,出.*++…+..*啥的

等搞完会发现这几个操作的结果都在keys文件夹下:

ca.crt

client.key

client.crt

这三个是客户端用了,ftp下来

ca.crt

server.key

server.crt

这三个是服务器用的,记住路径,最好还是复制到/etc/openvpn下面,别再被覆盖了

然后就是配置openvpn了,新版openvpn有example,直接复制过来就可以用的,路径:

/usr/share/doc/openvpn。。。。。

里面有个server.conf.gz,解压到/etc/openvpn/server.conf,百度一下:

gunzip –c filename.gz > filename gunzip

里面不用改啥东西,反正我改了(2017年8月6日注:不加下面这几行会出现连接成功分配到内网ip但是外网仍然不代理的情况!)

push “redirect-gateway”
push “dhcp-option DNS 8.8.8.8”
push “dhcp-option DNS 8.8.4.4”

貌似是选网关DNS

里面的ca啥的证书要相对路径和绝对路径正确,否则程序找不到证书

然后保存

开启端口

iptables -t nat -A POSTROUTING -s 10.8.0.0/16 -o eth0 -j MASQUERADE

 10.8.0.0是钦定的,想改跟server.conf里面的一起改,注意这里的是/16而server.conf里面的是24,原因没探究

然后设定端口转发

设定/etc/sysctl.conf 内容

net.ipv4.ip_forward = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0

然后重新载入生效

sysctl -p

然后 /etc/init.d/openvpn start 或者service openvpn start,

接下来是客户端:

把客户端用的三个文件放在 openvpn/conf下面,然后把example中的客户端配置文件下载下来,稍微改一改内容,windows后缀改为.ovpn

运行客户端,import 选择这个ovpn,然后连接就可以了。

出现了一个问题就是:可以连接vpn内网,但是上不去外网,原因发现了,是iptables没写对,写对之后就可以了,连起来还挺稳定,就是美国服务器延迟有点高。

开坑!

从头开始配置EMACS并记录下过程

首先安装好emacs24

我们的第一步不是学基础,而是配置好用emacs写wordpress!

【两年后:放弃】

算了,还是得过且过吧

如何打开两个shell:

M-X shell    –》 M-X rename-。。。重命名shell在buf中的名称,就可以新开一个shell了

树莓派如果默认开机不启动vnc或者ssh的话,打开raspi-conf调就行

树莓派2GPIO口对应(绿色为电路板区域)

树莓派使用温度传感器DHT11测温.py:

#!/usr/bin/python
import RPi.GPIO as GPIO
import time

channel =4 //GPIO4
data = []
j = 0

GPIO.setmode(GPIO.BCM)

time.sleep(1)

GPIO.setup(channel, GPIO.OUT)
GPIO.output(channel, GPIO.LOW)
time.sleep(0.02)
GPIO.output(channel, GPIO.HIGH)
GPIO.setup(channel, GPIO.IN)

while GPIO.input(channel) == GPIO.LOW:
  continue
while GPIO.input(channel) == GPIO.HIGH:
  continue

while j < 40:
  k = 0
  while GPIO.input(channel) == GPIO.LOW:
    continue
  while GPIO.input(channel) == GPIO.HIGH:
    k += 1
    if k > 100:
      break
  if k < 8:
    data.append(0)
  else:
    data.append(1)

  j += 1

print "sensor is working."
print data

humidity_bit = data[0:8]
humidity_point_bit = data[8:16]
temperature_bit = data[16:24]
temperature_point_bit = data[24:32]
check_bit = data[32:40]

humidity = 0
humidity_point = 0
temperature = 0
temperature_point = 0
check = 0

for i in range(8):
  humidity += humidity_bit[i] * 2 ** (7-i)
  humidity_point += humidity_point_bit[i] * 2 ** (7-i)
  temperature += temperature_bit[i] * 2 ** (7-i)
  temperature_point += temperature_point_bit[i] * 2 ** (7-i)
  check += check_bit[i] * 2 ** (7-i)

tmp = humidity + humidity_point + temperature + temperature_point

if check == tmp:
  print "temperature :", temperature, "*C, humidity :", humidity, "%"
else:
  print "wrong"
  print "temperature :", temperature, "*C, humidity :", humidity, "% check :", check, ", tmp :", tmp

GPIO.cleanup()

#!/usr/bin/python  
#-*- coding: utf-8 -*-  
import time  
import RPi.GPIO as GPIO  
GPIO.setmode(GPIO.BCM) #使用BCM编码方式  
#定义引脚  
GPIO_TRIGGER = 23  
GPIO_ECHO    = 24  
#设置引脚为输入和输出  
GPIO.setwarnings(False)  
GPIO.setup(GPIO_TRIGGER,GPIO.OUT)  # Trigger  
GPIO.setup(GPIO_ECHO,GPIO.IN)      # Echo  
  
def dis():  #测距函数  
    GPIO.output(GPIO_TRIGGER, False) #设置trigger为低电平  
    time.sleep(0.5)  
    GPIO.output(GPIO_TRIGGER, True) #设置trigger为高电平  
    time.sleep(0.00001)  
    GPIO.output(GPIO_TRIGGER, False)  
    start = time.time()  #记录发射超声波开始时间  
  
    while GPIO.input(GPIO_ECHO)==0:  
        start = time.time()  
  
    while GPIO.input(GPIO_ECHO)==1:  
        stop = time.time()  #记录接收到超声波时间  
      
    elapsed = stop-start   #计算一共花费多长时间  
    distance = elapsed * 34300  #计算距离,就是时间乘以声速  
    distance = distance / 2  #除以2得到一次的距离而不是来回的距离  
    print "Distance : %.1fcm" % distance  
  
try:  #用于捕捉异常  
        while True:  
                dis()   #调用测距函数  
                time.sleep(0.5)  
except KeyboardInterrupt:  
        GPIO.cleanup()  

首先安装postfix和postfixadmin

然后上http   /postfixadmin/setup.php

输入setup密码,gen到密文,插入config

但是在/var/www/html下没有

找了找发现在/etc/postfixadmin下

根据指示插入保存

然后继续setup

完成后建立域名用户和邮箱

给qq邮箱发信能收到(在垃圾箱

qq发回来收不到

可能是黑名单的问题

然后查看日志/var/log/mail.log

发现reject

大概是因为白名单里没有qq服务器,被过滤了

准备加qq到白名单

然后服务器ssh崩了

原手机没在身上,没法重启服务器

先搞到这吧

后来发现RCPT问题太烦人了,而且网站开这么多端口太危险,还是先用匿名邮箱吧

获得符合grep条件的进程号并杀死

ps -ef | grep pts
kill 查到的pid

这里的ps -ef 是查看所有进程,ps拿出来的用户 进程和pid离得比较近,手机用top看屏幕太窄,有用信息又挤在两边,往往找对应pid找花眼

e 显示所有进程(-e all processes )

f 全格式(-f full)

ps是命令,参数要写在-后面,可以写在一起,如ps -ef,ps -aux等

grep过滤其他关键字也一样,不只是杀死其他用户终端

kali2滚动源

deb http://http.kali.org/kali kali-rolling main non-free contrib


新服开启vsftpd

apt-get install vsftpd
nano /etc/ftpuser
#注释掉root
service vsftpd start

apt-get出现没有公钥

gpg --keyserver pgpkeys.mit.edu --recv-key  ED444FF07D8D0BF6
gpg -a --export ED444FF07D8D0BF6 |  apt-key add -
apt-get update

添加中文支持

dpkg-reconfigure locales

install pip

Install pip and virtualenv for Ubuntu 10.10 Maverick and newer
 
apt-get install python-pip python-dev build-essential 
pip install --upgrade pip 
pip install --upgrade virtualenv 
For older versions of Ubuntu
 
Install Easy Install
apt-get install python-setuptools python-dev build-essential 
Install pip
easy_install pip 
Install virtualenv
pip install --upgrade virtualenv 


apt-get dist-upgrade

mysql_config not found

apt-get install libmysqlclient-dev
wget https://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz
tar -xzvf MySQL-python-1.2.3.tar.gz 
cd MySQL-python-1.2.3.tar.gz 
python setup.py install

Metasploit  Bundle Gem

apt-get install ruby
gem install bundle
cd metasploit-framework
bundle install  

/ mkmf.rb can’t find header files for ruby at…

 如果是在centos等系统下面,执行命令:yum  install   ruby-devel 

  如果是在Ubuntu等系统下面,执行命令:apt-get  isntall   ruby-dev  
checking for pg_config... no
No pg_config... trying anyway
apt-get install Postgresql

apt-get install lib[lack_of ***.h]-dev