标签 技术 下的文章

查看数据库的字符集

select * from v$nls_parameters;
select * from nls_database_parameters;
[root@server183/] sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Wed Nov 7 23:50:56 2012 

Copyright (c) 1982, 2010, Oracle.  All rights reserved. 

SQL> conn / as sysdba     --需要使用SYSDBA帐户 
Connected. 
SQL>  startup mount        
ORA-01081: cannot start already-running ORACLE - shut it down first 
SQL>  shutdown immediate;   --停止数据库 
Database closed. 
Database dismounted. 
ORACLE instance shut down. 
SQL>  startup mount          --启动数据库到 mount 状态 
ORACLE instance started. 

Total System Global Area 1686925312 bytes 
Fixed Size                  2176368 bytes 
Variable Size             989858448 bytes 
Database Buffers          687865856 bytes 
Redo Buffers                7024640 bytes 
Database mounted. 

SQL> alter session set sql_trace=true; 
Session altered. 

SQL>  alter system enable restricted session; 
System altered. 

SQL> alter system set job_queue_processes=0; 
System altered. 

SQL> alter system set aq_tm_processes=0; 
System altered. 

SQL> alter database open; 
Database altered. 

SQL>  ALTER DATABASE character set INTERNAL_USE ZHS16GBK; --修改字符集AL32UTF8->ZHS16GBK 

Database altered. 

SQL> shutdown immediate;        --再次关闭数据库 
Database closed. 
Database dismounted. 
ORACLE instance shut down. 
SQL> STARTUP             --启动数据库 
ORACLE instance started. 

Total System Global Area 1686925312 bytes 
Fixed Size                  2176368 bytes 
Variable Size             989858448 bytes 
Database Buffers          687865856 bytes 
Redo Buffers                7024640 bytes 
Database mounted. 
Database opened. 
SQL> select * from v$nls_parameters where parameter = 'NLS_CHARACTERSET';

ubuntu下安装wireshark后,如果以普通用户执行,会报错无权限,随后使用sudo执行,可以正常执行,但是会提示存在风险,毕竟使用root运行权限还是过大,随后调整了下,将执行权限授权给指定用户就可以了。

添加wireshark用户组

sudo groupadd wireshark

将dumpcap更改为wireshark用户组

sudo chgrp wireshark /usr/bin/dumpcap

让wireshark用户组有root权限使用dumpcap

sudo chmod 4755 /usr/bin/dumpcap

将需要使用的用户名(hmilyld)加入wireshark用户组

sudo gpasswd -a hmilyld wireshark

OK,完成!

编译安装jsvc

cd $CATALINA_HOME/bin
tar -xvf commons-daemon-native.tar.gz
cd commons-daemon-x.x.x-native-src/unix
./configure
make
cp jsvc ../..

创建运行tomcat的普通用户tomcat

useradd -s /sbin/nologin tomcat

修改tomcat目录用户及用户组

chown -R tomcat:tomcat $CATALINA_HOME

将tomcat加入service服务

cp $CATALINA_HOME/bin/daemon.sh /etc/init.d/tomcat

修改tomcat,增加环境变量

由于service命令执行时不会获取环境变量的值,所以将变量增加至tomcat中
vi /etc/init.d/tomcat
增加

JAVA_HOME=/opt/jdk
CATALINA_HOME=/opt/tomcat
TOMCAT_USER=tomcat

启动or关闭

service tomcat start
service tomcat stop

至此,tomcat就以普通用户(tomcat)启动了,以后记得所有tomcat需要加载的目录和文件权限都是tomcat就可以了。

前两天看到国内一个电影评论,大概意思是说近些年的烂片的一些规律,比如主演,导演,年份等等,闲来不是很忙,就写了段代码,按照年份把豆瓣的电影信息全部抓取下来,然后回头自己统计看看。

思路

爬虫程序写过好多,包括模拟提交,模拟登录抓取数据等等,所以核心代码就决定用Java的HttpClient来实现,本来想用C#来的,但是想着上次用WebClient的坑到现在都没好好填上,还是算了,用java吧。

整体思路很简单,爬了列表后,组合列表Url,然后爬所有电影的ID,最后用豆瓣的api接口来获取每部电影的详细信息。

- 阅读剩余部分 -

国庆去电信领了个网络机顶盒,把客厅的天猫魔盒置换了下来(话说千万不要买天猫魔盒,千万不要,N多莫名其妙的问题,主题不在这,不多叙述,反正不要买就对了,傲娇脸.jpg),换上了电信的网络机顶盒后,有如下感受:

  • 看直播真快啊,家里是电信100M光纤,换台秒换,不会出现网络直播软件的那种卡顿情况
  • 貌似不占日常的网络带宽?反正开着机顶盒,上网也没觉得慢多少
  • 电影,电视,综艺的片源真少啊,操作也麻烦
  • 不能装第三方应用,外置插USB也不行,系统不认

综上,如果只是当成看电视直播的话,很不错,毕竟是免费送的么,好用也省事,不过如果当成机顶盒,平常看看电影啥的,就很不爽了,找个综艺节目都不好找,又不能装三方应用,所以郁闷之下,捣鼓破解了下,搞定。

思路很简单,机顶盒中有个内置的应用市场,虽然应用很少,但是还是有的,我们通过下载内置应用市场中的应用,劫持应用apk的连接,然后转发到自己指定的apk连接上,一切OK,操作如下:

只需要电脑一台即可(我的是Linux,所以不知道windows下有没可替代的软件,如果想省事的话,弄个虚拟机,装个Ubuntu或者Mint就行了,本机系统是Linux Mint),需要软件Ettercap,Wireshark。

第一步:Arp欺骗,劫持机顶盒流量

1.打开Ettrcap
2.Sniff->Unified Sniffing->选择和机顶盒在同一网络的网卡
3.Hosts->Hosts List
4.Hosts->Scan for hosts
5.在随后列出的IP地址中,找到盒子的IP地址,右键,Add to Target 1,找到路由的IP地址,右键,Add to Target 2
6.Mitm->ARP Poisoning->选中Sniff remote connections,确定
7.Start->Start sniffing

第二步:获取机顶盒内置应用市场所下载的APK的连接地址

1.管理员权限打开Wireshark
2.双击网卡,开始监听网络流量
3.在电视上随便选中一个apk,开始下载,下载完成后,停止网络流量监听
4.在Wireshark监听到的流量中,搜索apk,找到apk的下载连接

第三步:电脑中安装nginx或者apache或者其他任意web服务器,转发apk请求到本机

1.安装web应用服务器
2.按照第二步中捕获的apk连接,建立相同的访问路径
3.下载个电视TV助手或者市场之类的东西,例如当贝市场,替换监听的apk

第四步:转发ip请求

iptables -t nat -A PREROUTING -p tcp -d 机顶盒访问的IP地址/32 --dport 机顶盒访问的端口号 -j REDIRECT --to-ports 80

第五步:回到电视中,重新下载刚刚下载的应用

第六步:搞定

看着整个过程很麻烦,其实道理很简单,就是从中间捕获一个连接,然后想办法替换这个连接就可以了,有兴趣的童鞋可以自己捣鼓捣鼓。好运!