月度归档:2012年08月

修改SSH端口手册

vi /etc/ssh/sshd_config

找到# Port 22Port 22,修改为

Port 22
Port 31111  # 修改为你想设置的新端口,建议在1024~65535之间

接下来测试 sshd 配置文件

sshd -t

如果没有问题就可以重启 sshd 服务了,在重启前请再次确认防火墙已经放行新的端口,SELinux 是关闭的或者相关设置也是正确的

sestatus # 确认 SELinux 的状态是 disable
service sshd restart

重启完毕后,如果新端口可以接通,就可以把 22 端口注释掉再重启服务,就完成 SSH 修改端口的操作了

参考资料
- How to change the ssh port on Linux or Unix server

建立只能使用ssh的TCP转发功能的系统账户

其实 ssh 可以连接到 sshd 但是不执行远程命令(默认是启动用户设定的 shell ),使用 -N 参数即可。

在服务器上建一个 username :
添加用户:useradd -s /bin/false  username,将用户的shell设置成/bin/false。这样用户就无法与系统进行交互。
设置密码:passwd username

小技巧:
也可以使用 /usr/bin/passwd 作为用户的 shell ,这样用户就可以通过登录而来自主修改密码。需要注意的是,需要将 /usr/bin/passwd 这一行写进 /etc/shells文件。
sshd 认证通后之后,会检查设定的 shell 是否登记在 /etc/shells 文件中,若已经登记,则fork自己,然后fork出来的子进程再exec 设定的 shell 。而 ssh 的 -N 参数,则是告诉 sshd 不需要执行 shell。

建立Tunnel:

ssh -D 1080 -qfnN    username@hostname

输入密码即可使用(也可以用key认证)。

Windows的话,可以使用plink.exe或者MyEnTunnel(MyEnTunnel 本质上也是使用plink.exe来建立Tunnel)。

此时账号username 可以通过sshd的认证使用 TcpForwarding ,但是不能运行 shell,不能与系统交互。刚好可以用来为朋友提供国外的代理翻墙。

参数详解:
-D 1080 建立动态Tunnel,监听在本地1080端口;
-q  安静模式;
-f   ssh在后台运行,即认证之后,ssh退居后台;
-n  将 stdio 重定向到 /dev/null,与-f配合使用;
-N  不运行远程程序,即通知 sshd 不运行设定的 shell。

分来了,号忘了……

又到一年查分时,可惜那可怜的准考证早已被扫如了垃圾堆中。于是破解准考证号的大戏拉开帷幕。

综合网上资料其实对准考证稍加组合还是可以暴力破解出来的。方法大致如下:

1、前3位是省份代码,一般都是该省省会身份证号的前3位;

2、第4-5位是学校代码;

3、第6位是学校的校区代码,有的从0开始,有的从1开始,甚至有的学校会有间隔,很不规律;

4、第7-8位是考试年份,例如2012年的就是12;

5、第9位是该年中第几次四六级考试,例如2012年6月份的考试是1;

6、第10位是四六级类别,四级是1,六级是2;

7、第11-13位是考场号,例如第1考场就是001;

8、第14-15位是座位号,例如1号座位就是01.

前十位是可以靠查资料组合出来的,至于后面较为随机的5位数就要交给计算机来办了。

以下以python为例,示范爆破最后5位准考号。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib2
import re
import sys

def main():
print("===========================================")
print("Welcome to run this CET score query program")
print(" Created by messense<http://messense.me>")
print("===========================================\n\n")
code = raw_input("Please type the first 10 number of your ID(like 6100111211): ")
start_room = int(raw_input("Please type 3 number of starting exam room(like 001): "))
stop_room = int(raw_input("Please type 3 number of ending exam room(like 100): "))
seats = int(raw_input("Please type the count of people of one room(like 30): "))
name = unicode(raw_input("Please type your name: "), "gb2312").encode("utf-8")
print("Query name is %s" % urllib2.quote(name))

url = "http://www.chsi.com.cn/cet/query?zkzh=%s&xm=%s"
current_room = start_room
current_room_str = ''

while current_room if current_room < 10: current_room_str = '00' + str(current_room) elif current_room >= 10 and current_room < 100:
current_room_str = '0' + str(current_room)
else:
current_room_str = str(current_room)
current_seat = 1
current_seat_str = ''
while current_seat if current_seat < 10:
current_seat_str = '0' + str(current_seat)
else:
current_seat_str = str(current_seat)
num = "%s%s%s" % (code, current_room_str, current_seat_str)
query_url = url % (num, urllib2.quote(name))
print("Now querying ID %s" % num)
try:
req = urllib2.Request(query_url)
req.add_header("Referer", "http://www.chsi.com.cn/cet/")
html = urllib2.urlopen(req).read()
except:
print("Open query url(%s) error" % query_url)
continue
if html.find('cetTable') == -1:
print("Can not find your score, try next.")
current_seat += 1
else:
print("\n\nWow! I've found your score!")
print("Your ID is %s" % num)
print("Please open http://www.chsi.com.cn/cet/ with your browser then type the ID and your name to view your CET score.")
sys.exit(1)

current_room += 1

if __name__ == '__main__':
main()

以上抛砖引玉希望同样悲剧的童鞋早日找回自己的准考证号,并且再次强烈谴责只提供准考证查分的2B系统!!!

怎么看待刘翔在 2012 年奥运会 110 米栏预赛中摔倒?

 

刘翔就是刘翔。
你可以塑造个偶像,但他不是什么中国精神的代言人,刘翔就是刘翔。
他身后也只有一个长得不咋地的女人和一个总在愁眉苦脸精于算计的教练,没有13亿人,刘翔就是刘翔。
——这句话我8年前说,4年前也说。
可好些人头顶上不顶神佛就要顶圣人,不然他难受死。
一旦自己上赶着捧的“圣人”跌下神坛,就各种别扭难过撒泼打滚。
就像总要让人代表自己,自己不能代表自己一样。人家好了就是代表了我们如何如何,这个“我们”的规格越大(例如黄种人>国家>民族),就越不胜荣宠感觉自己像水滴融入大海一般深深地融入了这个群体而且不可自拔。

再次“兜售”(省得有人说我是绑架)一下我的观点(zhihu.com/question...)——
动辄把民族荣辱和竞技体育结果绑架在一起的人,就是民族心理脆弱的民粹份子。
他们认为比赛结束升国旗就是捍卫国家荣誉,没升成国旗就是没捍卫国家荣誉。
拜托,他们花我们的税金用我们牙缝里挤出来的钱去搏来的冠军,有回馈到我们国库里一分钱没有?我们为他缴纳的高昂的税金有因此得到回馈没有?我们贡献物质他享受精神物质双丰收吗?这叫捍卫了哪门子的国家荣誉?
举国体制下的运动员,是最没有谈“国家荣誉”的意义的。

正因为这种奇葩的体制(zhihu.com/question...),所以才会有运动员拿了银牌还要跪地恳求无数人原谅的奇事(我当时有一瞬间觉得这个国家要完蛋操了。这是怎么了?他努力了一辈子的追求竟然是这个吗?没人告诉他文革结束了吗?),才会有退赛之后被要求应该坚持走完全程的奇事(好吧,这也和那年中央五玩命播坦桑尼亚的艾哈瓦里的故事有关,是的,我承认那是伟大。但没听说过被俗人们要求去执行伟大的。不走完比赛去煽情,也没什么不伟大)。
这群对刘翔的各种行为喋喋不休的人,进行各种恶意揣测的人,他们不觉得自己比美国那几个揣测叶诗文的记者更不地道吗?揣测叶诗文的记者有合理推论的依据,你们有什么?刘翔拍过商业广告?

我不喜欢刘翔,从头到尾都不喜欢刘翔。
无论他拿了冠军破了纪录还是退赛甚至比赛中摔伤。
但是不妨碍我基本的判断,就是——他没有演这个的前科,也没有演这一下的必要性(无论他选择退赛或是什么,都比演这一下得到的结果更好)。我们揣测他是演戏但是他也没有因此获利,我们连有罪推定的动机都不完全,还硬推个屁啊?倔驴拉硬屎也不是这么个拉法。

即便刘翔真的是演戏,那又是因为什么?
害怕那些脆弱的民族精神和依赖感?担心对自己税金所用非人的失落?张公子鄙弃的那种“我的偶像比你的偶像牛逼所以你就矮我一头”的中二思路?……
可能都是,可能还有更二的原因。
反正我们知道这群家伙的可怕之处就在于他们可以无脑的打击你。就像李宁留到现在的上吊绳,就像刘翔最新一条微博下面谩骂的专家。
他们连“刘翔你就回答一下你是不是在演戏”这样的提问都不敢当面提。
我们还说什么呢?

——一句话总结:不把刘翔塑造成你的精神寄托,哪儿他妈来这么多破事儿

为互联网增加新的感官体验

from Google黑板报

如果Web应用程序拥有视觉会怎样?如果它们能够听到你的声音呢?在刚刚发布的Google Chrome浏览器正式版中,如果你授权网络接入许可,你的网络将像人一样能听能看。

Chrome浏览器的最新版本包含了一个可用于高质量视频音频通讯的getUserMedia API,可以在浏览器中直接授权Web应用访问摄像头和麦克风,且无需使用插件。

GetUserMedia API旨在提供高品质的网络视频通讯和音频通讯服务,是实现新的实时通信标准WebRTC的第一步。 GetUserMedia API还允许Web应用创建一些新鲜有趣的体验,如网络摄像头玩具(Webcam Toy)和神奇的木琴(Magic Xylophone)。在Chrome Web Lab中,如果你使用最新版Chrome浏览器,Sketchbots实验装置可以使用getUserMedia从摄像头获取你的肖像照,并转换成线条画,然后传送给位于伦敦科技博物馆的机器人。机器人会在细沙上给你画出一副肖像画。这项技术听上去就像它的名字一样疯狂,但实际上它的功能要更加酷。

当你拍下自己的照片时,该程序将会把这张照片转换成机器人能够识别的HTML5画布上的线条素描画。

 

稍后伦敦科技博物馆的八个Sketchbots中的一个将在细沙上画出你的肖像。你可以要求给自己发送一份记录整个过程的录像。

另外,最新的Chrome浏览器正式版还有很多其它新特性,比如扩展了对游戏手柄、高清Mac视网膜屏幕等的支持。查看更多新功能和特性,下载Google Chrome浏览器即可。

PS:笔者对沙画进行了试验,发现太cool了!