开始阅读动手前,建议你了解一下光猫超级用户破解,删除TR069和远程控制的利弊:
1、桥模式可以获得外网IP让各种BT分享软件做种效率加快下载速度2、删除TR69和屏蔽远程控制后,电信不能给你的光猫下发配置了,可能影响你开通其他功能(比如无ITV业务后期你开通了,你光猫不能接受新配置,LAN2就不能看ITV,需重新输入LOID下发配置)
3、动手能力有点要求,如果你不懂怎么拔光纤头的话还是关闭本页
4、某些地区现在已经不给私人外网IP了,所以1的优势基本不存在了
最近由于某单位需要接入专网,在电信做了数据转接,需要修改电信的光猫模式,而这个修改的权限只能QQ联系市电信局的业务主任,有时候他人不在,业务量又大,只能自己动手从破解这方面入手了。现在把我接触到了几个型号的光猫的超级用户密码获取以及改桥接模式等细节。
一、中兴F412/420等(之所以放在前面是因为这个光猫很恶心)
网络上流传很广的中兴F4XX的光猫教程是telnet,可惜2015年开始,中兴默认就屏蔽了22和23,你是不可能telnet通光猫的。这个时候俺们需要一点其他技巧。
1、使用光猫背面的普通用户名和密码,进入光猫,记下LOID(防止会有极少数部分光猫复位丢失配置)
2、光猫开机状态下拔掉光纤,顶一下光猫的reset按钮大约1-2秒,看到指示灯齐闪一下代表复位成功。
3、打开cmd,输入telnet 192.168.1.1,如果不通,说明出厂的时候23端口上的telnet就被屏蔽了,看4;如果通,出现输入用户名的提示,输入用户名 root,密码:Zte521,进入ssh命令行模式,输入 sendcmd 1 DB p UserInfo (如无效用 sendcmd 1 DB p DevAuthInfo 试),会出现一大串光猫的配置表,全选标记,黏贴到记事本,查找 telecomadmin,如下所示
<DM name="User" val="telecomadmin"/> 绿色的是用户名<DM name="Pass" val="telecomadmin97023828"/> 红色的是密码
得到超级用户密码为telecomadmin97023828。
4、如果telnet不通,打开浏览器,使用光猫默认超级用户名和密码进入光猫,超级用户:telecomadmin 密码:nE7jA%5m
至此,超级用户密码破解完成,请注意全程都不能插光纤。
我们再来进行改桥接模式,在改桥模式之前,你需要知道你的宽带账号和密码(超级用户只能看到账号,看不到密码),不晓得的自己打10000号问吧。
接下来我们打开浏览器,输入光猫IP地址,使用超级用户登陆光猫。
在网络这一项中,一般可以看到Internet_xxx_vlanID和TR069_XXX_vlanID和Brig_xxx_vlanID这样的三个或者四个连接(其中vlanID为一串数字)。如下图所示:
改光猫上网为桥接模式(就是路由器或PC需要拨号),桥模式的好处是可以获得外网IP打通BT软件获得绿灯加快做种效率和下载速度。
首先你需要记住Internet这个的vlanID,如下图所示,我的vlanID是1351.
如果下方的删除按钮可用,就把Internet_xxx_vlanID 这个选中,然后删除,如果不可用。就使用浏览器的开发者控制台(鼠标移动到最下面的 删除和修改按钮附近点右键,选择审查元素),在下方的控制台将删除按钮的 disable值改为enable。
然后删除按钮就可以使用了,删除后再新建一个internet,模式选择桥模式,有些光猫还需要选择服务类型,一点选择Internet,改写tag,vlanID填写刚才记下的,比如我的1351;802.1p: 0。
到这里,你已经将光猫改为桥接模式,但请注意,这样自己改的桥模式有可能会被电信的远程下发和TR06控制又给改回来,我们需要彻底点,删除TR069和屏蔽电信远程控制ACS。
TR69和上面改桥接模式一样,直接删除(如果不能删除,就自己审查元素删除掉)
ACS在远程管理标签里面,同样这里的ACS上报地址和保存按钮都是灰的,改不了,所以还是审查元素慢慢改吧,把ACS上报地址改成127.0.0.1,保存就行了,就不上图了。
全部操作完成后,直接插上光纤,等待2-5分钟后,去电脑拨号或者修改路由器上网方式为拨号吧!
二、烽火HG221GS
这个光猫老版本的V1可以方便的使用下面的两个教程得到密码:过程中无需拔光纤
首先,你们得找到你们猫的背面,找到 useradmin及密码。然后输入192.168.1.1,并登录。然后打开http://192.168.1.1/backupsettings.html,然后找到 保存/应用 这个按钮 点击下载。
然后用NOTEPAD++打开
找到第59行 <Password>我是加密的密码</Password>(这不是密码,密码因人而异
然后得到一串英文+数字的暗文,复制,打开这一个网
http://www.mxcz.net/tools/base64.aspx
把你刚刚得到的暗文输入框内(不要管框内的数字英文符号,那些是简介- -。。。直接复制替换)
然后点击 框下的按钮 base64解码 点击 出来一个框 这货就是密码
然后再次输入192.168.1.1 用户名为 telecomadmin 密码就是你破解出来的
使用背面的用户名和密码登陆光猫,然后下载配置文件,文件配置信息地址:http://192.168.1.1/cgi-bin/baseinfoSet.cgi
找到储存密码的地方:
"baseinfoSet_TELECOMACCOUNT":"telecomadmin",
"baseinfoSet_TELECOMPASSWORD":"120&105&112&105&103&115&113&101&104&113&109&114&53&48&54&55&54&51&51&57&",
"baseinfoSet_USERACCOUNT":"useradmin",
"baseinfoSet_USERPASSWORD":"78&69&80&75&82&",
baseinfoSet_TELECOMPASSWORD 字段为telecomadmin密码加密。
使用下面python脚本进行解密:
list=[120,105,112,105,103,115,113,101,104,113,109,114,53,48,54,55,54,51,51,57]
result=[]
for i in list:
if i > 57:
i-=4
result.append(chr(i))
print ''.join(result)
如果大家没有python环境可以在线运行:
http://www.pythontip.com/coding/run
list=替换成自己设备的加密密码即可。
使用哪种方法取决于加密方式,自己测试吧,多数都是Base64。也就是第一种。
至于新版本V2.0,就不能用这种模式了。必须开启隐藏用户:
在浏览器上输入 http://192.168.1.1/logoffaccount.html,设置隐藏用户改为启用,这样就可以用工程账号登陆了。登录工程帐号(用户名:fiberhomehg2x0密码:hg2x0),登录网址http://192.168.1.1/
工程模式中,服务设置-->开启telnet,修改好telnet的用户名和密码后保存。
接着用telnet登录光猫,输入刚刚设置的用户名密码,用get telname得到超级用户账户名,用get telpwd得到超级用户密码
接下来的改桥接等比ZTE F4XX要简单多了,不必删除也不必审查元素这么费劲,直接可以修改。简单的多了,就不细说了。
三、TEWA 300EA等光猫
这个直接百度一大把的教程,直接贴上来了:
打开路由器的web设置,一般是192.168.1.1,用路由器背后的用户名useradmin和密码登录。访问http://192.168.1.1/backupsettings.conf会下载这个文件。
用记事本或者EditPlus或者notepad++打开,在这个位置的就是密码:
<X_CT-COM_TeleComAccount>
<Password>****telecom</Password>
</X_CT-COM_TeleComAccount>
****telecom就是超级密码
其实这个配置文件里面还有宽带用户名和密码,以及LOID等,如果超级用户密码是一串不带telecom的字符,说明是新版采用base64加密了,就到http://www.mxcz.net/tools/base64.aspx解密密码。
接下来的改桥接等比ZTE F4XX要简单多了(无需拔光纤),不必删除也不必审查元素这么费劲,直接可以修改。简单的多了,就不细说了。
四、华为的系列光猫
抱歉,华为在湖北地区2016年之后的光猫不能破解,光猫背后的用户名和密码都是错的,在进不去光猫不知道LOID的情况下,请不要贸然reset光猫
如果你知道自己的LOID,可以继续看:
1、拔掉光纤,按reset按钮复位光猫
2、使用光猫出厂默认超级用户和密码登陆 超级用户:telecomadmin 密码:nE7jA%5m
3、进去按照上文中的教程自己改桥接模式和屏蔽控制吧
4、改完不用关光猫,直接插上光纤等几分钟设置你的路由器或电脑拨号
五、通杀全系列电信光猫教程
认识一个有权限修改用户数据或者能后台看到光猫超级用户密码的电信员工,让他告诉你或后台直接下发桥接模式配置就行了
至于光猫如果万一改坏了或者reset按钮没有屏蔽清空配置文件功能(大部分都屏蔽了,可能少部分电信忘记了),配置全部丢失,就需要重新注册了。教程是这样的:
在光猫的登陆页面一般有注册按钮,点击进去输入LOID,密码空不用填写,点击注册,等几分钟就会重新注册好的,需要注意的是注册需要在用户本人的光纤插头下,并且必须插好光纤
单属性汇总:
1 name属性
服务器会识别不同的name属性,并根据name属性来捕获不同元素内的数据。
2 value属性
value 属性为 input 元素设定值。
对于不同的输入类型,value 属性的用法也不同:
type="button", "reset", "submit" - 定义按钮上的显示的文本
type="text", "password", "hidden" - 定义输入字段的初始值
type="checkbox", "radio", "image" - 定义与输入相关联的值
注释:<input type="checkbox"> 和 <input type="radio"> 中必须设置 value 属性。
注释:value 属性无法与 <input type="file"> 一同使用。
注意:单选框和复选框传递数据到数据库时一定要设置value, 否则插入数据失败;
3 type属性
它决定了<input>标签在页面中的表现样式和功能
text 文本框
password 密码框
radio 单选框
checkbox 复选框
file 文件域
hidden 隐藏域
image 图像域
submit 提交按钮
reset 重置按钮
button 普通按钮
4 size属性
列表框中size属性用来设置列表框显示的行数;
文本框和密码框会使用size属性设置域的显示宽度;
5 disabled属性
定义disabled属性可以禁止使用该元素;
无法将数据提交到服务器处理;
6 readonly属性
常用在输入性表单对象中(如文本框、密码框、文本区域),用来禁止输入任何信息;
可以将数据提交到服务器处理;
7 checked属性
它与disabled属性一样没有属性值,常用在选择性表单对象中,定义对象处于被选中状态(如单选按钮和复选框)
但在列表框或者下拉式菜单中,为了表示被选中的项目,可使用selected属性;
7 placeholder属性
规定帮助用户填写输入字段的提示。
表单对象:
1 文本框
<input type="text" name="textfield" id="textfield" value="单行文本框" size="20" maxlength="20">
必需的属性:name type
2 密码域
<input type="password" name="passwordfield" id="passwordfield">
必需的属性:name type
3 文本域
<textarea name="textarea" cols="20" rows="5" wrap="physical"></textarea>
必需的属性:name cols rows
wrap属性 默认值:输入的文本会自动换行。当数据提交到服务器被处理时, 换行符不会随输入的文本一同被提交到服务器;
off(也可写成wrap):不自动换行, 当输入的内容超出文本区域右边界时, 文本将向左滚动, 并显示滚动条。
如果希望换行,必须手动输入回车键才能将插入点移到下一行;
virtual:文本能够自动换行, 当数据提交到服务器被处理时, 换行符不会随输入文本一同提交到服务器;(默认值)
physical:文本能够自动换行, 当数据提交到服务器被处理时, 换行符将会随输入的文本一同被提交到服务器进行处理;
关于如何限制文本域输入字符串的长度 见javascript|语法|设置文本框
HTML5中wrap中属性值修改为hard|soft
soft 当在表单中提交时, textarea 中的文本不换行, 默认值。
hard 当在表单中提交时, textarea 中的文本换行(包含换行符)。
当使用 "hard" 时, 必须规定 cols 属性
4 单选按钮
单选按钮传递的信息简单,如1或0、True或False。
<input type="radio" name="radio" value="1"/>选项1
<input type="radio" name="radio" value="2"/>选项2
<input type="radio" name="radio" value="3"/>选项3
多个单选按钮通过定义相同的name属性, 以实现捆绑在一起;
必需的属性:type name value
5 复选框
<input type="checkbox" name="checkbox[]" value="1"/>选项2
<input type="checkbox" name="checkbox[]" value="2"/>选项2
<input type="checkbox" name="checkbox[]" value="3"/>选项2
通过设置相同的name属性可以把多个复选框捆绑在一起;
必需的属性:type name value
6 列表框/下拉菜单
<select name="select" size=1>
<option value="1">1</option>
<option value="2" selected="selected">2</option>
<option value="3">3</option>
</select>
如果select元素中不设置size属性,则该元素会显示为下拉菜单样式
<select name="select" size="1" multiple="multiple">
<option value="1">1</option>
<option value="2" selected="selected">2</option>
<option value="3">3</option>
</select>
如果希望以列表框形式显示,则可以使用size属性指定列表框的高度(显示几个选项);
还可以通过mutiple属性定义列表框是否为多选(默认是单选);
通过<optgroup>标签把相关的选项组合在一起:
<select>
<optgroup label="PHP版块">
<option value="resource">资源共享</option>
<option value="study">学习交流</option>
<option value="salary">薪酬待遇</option>
</optgroup>
<optgroup label="IOS版块">
<option value="resource">资源共享</option>
<option value="study">学习交流</option>
<option value="salary">薪酬待遇</option>
</optgroup>
</select>
注意:其中PHP版块和IOS版块不能被选中
所有主流浏览器都支持 <optgroup> 标签。
7 文件域
<input type="file" name="file"/>
<input type="file" name="file" multiple/>
8 按钮
提交按钮
<input type="submit" name="" value="提交"/>
name值必须给出
重置按钮
<input type="reset" name="" value="重置"/>
普通按钮
<input type="button" name="" value="普通按钮"/>
它一般是配合javascript来使用;
关于控制表单提交按钮见: javascript|语法|控制表单提交
9 图像域
<input type="image" name="image" value="提交" src="images/vote_d.gif" alt="提交" align="middle"/>
10 隐藏域
限制上传文件大小
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
传递ID值
<input type="hidden" name="id" value="<?php echo $result['id'];?>" />
11 button标签
在 button 元素内部,您可以放置内容,比如文本或图像。这是该元素与使用 input 元素创建的按钮之间的不同之处。
<button type="button" name="button" value="按钮"><img src="hw001.jpeg"/></button>
普通按钮<button type="button">普通按钮</button> 它一般是配合javascript来使用, 默认值
提交按钮<button type="submit">提交按钮</button>
重置按钮<button type="reset">重置按钮</button>
提交表单
enctype属性
该属性包含两种方式:
application/x-www-form-urlencoded 是默认编码类型
multipart/form-data
multipart/form-data编码方式可以用来传输二进制数据或者非ASCII字符的文本(如图片、不同格式的文件等),上传文件必须使用此属性
multipart: 多部件的
multiple: 多重的
text/plain
text/plain将表单属性发送到电子邮箱时,enctype的值必须设为"text/plain",否则将会出现乱码。
发送电子邮件的表单程序
<form name="form1" method="post" action="mailto:marker@broadview.com.cn" enctype="text/plain">
</form>
action 表单提交的脚本
如果传递到本页面,则直接输入控制 action=""
表单提交方式method:post/get
<form action="test.php?id=5" method="post" >
name: <input type="text" name="name" value="100">
</form>
id=5是get传, name="100" 是post传! //高洛峰解释
action="" 表示传递到当前脚本文件
target 指定提交到哪一个窗口
_blank 打开新窗口
_self 当前的窗口,默认值
_parent 上一层窗口
_top 最上层窗口
框架名称 指定指定窗口或框架名称
label标签
作用: 扩大触控区域, 为了提升用户体验, 点击文字也能选中表单
<form action=" method="get" accept-charset="utf-8">
<label>电子邮箱: <input type="text" name="email" value="" placeholder="请输入电子邮箱"/></label><br/>
<label>密码: <input type="password" name="password"/></label><br/>
<label for="address">地址</label>
<input type="text" name="address" id="address" placeholder="请输入地址" />
</form>
for与id一致
<input type="radio" id="sec" name="sex"> <label for="sex">男</label>
简化写法:
<label><input type="checkbox"/>周杰伦-晴天</label>
注意: "for" 属性可把 label 绑定到另外一个元素。请把"for"属性的值设置为相关元素的 id 属性的值。
PHP实例:创建发送邮件信息的html表单
代码:
<html>
<head>
<title>简单邮件发送表单</title>
</head>
<body>
<h1>Mail Form</h1>
<form name="form1" method="post" action="simpleEmail.php">
<table>
<tr><td><b>To</b></td><td><input type="text" name="mailto" size="35"></td></tr>
<tr><td><b>邮件主题:</b></td>
<td><input type="text" name="mailsubject" size="35"></td></tr>
<tr><td><b>邮件内容</b></td>
<td><textarea name="mailbody" cols="50" rows="7"></textarea></td>
</tr>
<tr><td colspan="2">
<input type="submit" name="Submit" value="发送">
</td>
</tr>
</table>
</form>
</body>
</html>
simpleEmail.php
过昨天的学习算是对HTML有了一点点了解,知道了什么是前端,什么是HTML、前端三大标准、主流浏览器和html的基本结构及常用标签。那么今天继续看看html还有什么新的知识吧。
有常见性就有特殊性,我们使用电脑时经常会用到空格键,在html文档上有时也会使用到空格键等等,那怎么在html上又是以什么形式展示给浏览器解析呢?
浏览器显示结果 | 特殊字符名称 | HTML编辑字符 |
空格 | & n b s p; | |
< | 小于号 | & l t ; |
> | 大于号 | & g t; |
& | 和 | & a m p; |
? | 版权 | & c o p y ; |
作用:在浏览器上清晰美观地显示、展示数据。
表格标签的语法
<table>
<tr>
<td></td>
</tr>
</table>
表格标签:<table></table>,一个table标签中可嵌套多个tr标签。
行标签:<tr></tr>,一个tr标签代表一行。一个行标签中可以嵌套多个单元格标签。
单元格标签:<td></td>,一个td标签代表一个单元格。在单元格中可以填充文本、图片、超链接等等内容。
在html中表格不是由横线划分行和列,而是大大小小的矩形盒子来划分。Table是一个最大的矩形盒子,里面包含tr标签,这个是一个和table长度差不多的矩形盒子,table一行仅容纳一个tr盒子。在tr盒子中还包含有N个td盒子,td盒子就是单元格。
表格示例:
在html文档中编辑表格标签结构时,除了一个标签一个标签地敲之外,可以使用快捷方式快速操作:如五行三列的表格,可以在table标签中输入:“tr*5>td*3”然后敲回车,就将其表格结构迅速展现出来。
<h1>表格示例:</h1>
<table>
<tr>
<td>姓名</td>
<td>性别</td>
<td>年龄</td>
</tr>
<tr>
<td>张三丰</td>
<td>男</td>
<td>27</td>
</tr>
<tr>
<td>李四喜</td>
<td>女</td>
<td>18</td>
</tr>
<tr>
<td>王五通</td>
<td>男</td>
<td>35</td>
</tr>
<tr>
<td>秦六夏</td>
<td>女</td>
<td>30</td>
</tr>
</table>
运行界面示例:默认状态下表格是没有线条分界,表格对齐方式左对齐。
表头单元格标签
<th></th>:位于表格的第一行或第一列,可以使其内容加粗居中显示。
语法:
<table>
<th>
<td></td>
</th>
</table>
表头表格代码示例:
<h1>表头表格示例:</h1>
<table>
<tr>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
</tr>
<tr>
<td>张三丰</td>
<td>男</td>
<td>27</td>
</tr>
<tr>
<td>李四喜</td>
<td>女</td>
<td>18</td>
</tr>
<tr>
<td>王五通</td>
<td>男</td>
<td>35</td>
</tr>
<tr>
<td>秦六夏</td>
<td>女</td>
<td>30</td>
</tr>
</table>
运行界面示例:
表格结构标签
表格结构标签分为表格头部标签和表格主体标签。类似于head标签和body标签对于html标签之间的关系。
表格头部标签:<thead></thead>。定义表格头部,嵌套在<table></table>中,一般位于第一行。
表格主体标签:<tbody></tbody>。定义表格主体,嵌套在<table></table>中,主要用于显示数据。
代码示例:
<h1>表格结构标签</h1>
<table border="1" width="300px" height="150px" cellspacing="0">
<thead>
<tr>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
</tr>
</thead>
<tbody>
<tr>
<td>张三丰</td>
<td>男</td>
<td>36</td>
</tr>
<tr>
<td>李四喜</td>
<td>女</td>
<td>30</td>
</tr>
</tbody>
</table>
运行界面:
表格属性
虽然表格属性在实际开发过程中不常使用,一般都是通过CSS样式设置,但是还是需要记住这些属性关键词,在css中属性关键词也会用到。
注:这些属性都要写在table标签的开始标签中,多个属性之间需要使用空格分隔。
align:表格的对其方式。
align=“left”:在浏览器中居左显示。也是默认显示。
align=“center”:在浏览器中居中显示。
align=“right”:在浏览器中居右显示。
border:表格是否具有边框。
border=”1”:表格添加边框。
cellpadding:单元格内的元素和td边框的距离。
举个例子,如果表格是一件教室的话,桌子就是单元格,桌子上放的书本就是单元格内的元素,书本边缘和桌子边缘之间产生的空白区域就是cellpadding的值。
cellspacing:单元格和单元格之间的距离。默认是有空隙的,可设置为零,使其空隙清零,成为一条直线。
还是以教室为表格,桌子为单元格。桌子和桌子之间的距离就是cellspacing的值。
width:表格的宽度,属性值可以是像素值也可以是百分比。
height:表格的高度,属性值可以是像素值也可以是百分比。
代码示例:
<h1>表头表格示例:</h1>
<table align="center" border="1" cellpadding="0" cellspacing="0" width="200px" height="300px">
<tr>
<th>姓名</th>
<th>性别</th>
<th>年龄</th>
</tr>
<tr>
<td>张三丰</td>
<td>男</td>
<td>27</td>
</tr>
<tr>
<td>李四喜</td>
<td>女</td>
<td>18</td>
</tr>
<tr>
<td>王五通</td>
<td>男</td>
<td>35</td>
</tr>
<tr>
<td>秦六夏</td>
<td>女</td>
<td>30</td>
</tr>
</table>
运行界面:
合并单元格
合并单元格是指将两个或两个以上的单元格合并成一个单元格。合并属性一般写在单元格标签的开始标签上。合并代码属性设置后,要将没有写合并的单元格代码的其他合并单元格标签删除掉。
目标单元格:(合并代码存在位置)
跨行合并:最上侧单元格为目标单元格,写合并代码。
跨列合并:最左侧单元格为目标单元格,写合并代码。
合并单元格的方式:
跨行合并:将处于不同行的单元格进行合并
语法:rowspan=“合并单元格个数”
代码示例:
<h1>跨行合并表格:</h1>
<table border="1" width="300px" height="150px" cellspacing="0">
<tr>
<td rowspan="2"></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</table>
运行界面:
跨列合并:将处于不同列的单元格进行合并
语法:colspan=“合并单元格个数”
代码示例:
<h1>跨列合并表格:</h1>
<table border="1" width="300px" height="150px" cellspacing="0">
<tr>
<td colspan="2"></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</table>
运行示例:
今天学习的表格内容就到这里了,明天开始学习列表。
*请认真填写需求信息,我们会在24小时内与您取得联系。