网络知识

How net working?

关于安装操作系统

近期打算把ubuntu9.04+xp 换成ubuntu 10.04+win7,多年没有光驱,先把硬盘安装的方法搜集下。

另外本来打算4.29下载10.04的,现在看来已经可以下了。

—————————–ubuntu 10.04下载地址————————————————

附ubuntu 10.04下载地址如下,是Daily Build版本的,发布日期是4-26,已经修复那个内存泄露的问题,我认为可以下了,也算是为后面大家分流了。

http://cdimage.ubuntu.com/dvd/current/lucid-dvd-i386.iso    这个是x86的

http://cdimage.ubuntu.com/dvd/current/lucid-dvd-amd64.iso     64位的

习惯先装win,犹豫以前一直习惯的PE系统装win7时不是那么顺利了,但是前人播种后人收,win7的硬盘安装方法不外乎下面几种:

—————————–硬盘安装WIN7————————————————

一、windows 7系统下全新安装高版Windows7:
1、下载windows7 7600 ISO镜像(RC或RTM),用虚拟光驱拷贝至非C盘(如D:\7600)
2、开机按F8——修复系统——选择最后一项命令修复——在命令框输入“D:\7600\sources\setup.exe“(不带引号)
3、进入安装界面、选择custom安装
4、选择安装语言、格式化C盘
5、OK了,装好后是一个纯系统(非双系统)。

二、如果有vista安装盘的话,方法也很简单:
1、下载windows7 7600 ISO镜像(RC或RTM),用虚拟光驱拷贝至非C盘(如D:\7600)
2、BIOS中选择光驱启动,进入vista安装界面
3、选择左下角修复计算机(自动搜索系统,提示加载驱动或关闭,选择关闭进入修复选项)
4、选择最后一项命令修复,在命令框输入“D:\7600\sources\setup.exe“(不带引号),开始安装
5、选择安装语言、格式化C盘 (即使C盘原本没有系统此法也可行)

三、XP系统下全新安装windows 7:
1、下载windows 7 7600 ISO镜像(RC或RTM),用虚拟光驱拷贝至非C盘(如D:\7600)
2、把D:\7600目录下的bootmgr和boot目录(其实只要里面的boot.sdi和bcd文件)拷贝到c盘根目录下,并在C盘根目录下建个sources文件夹。(XP下不需要取得管理员权限)
3、把D:\7600\sources下的boot.win复制到C盘刚建的sources文件夹
4、用管理员身份运行cmd,然后输入c:\boot\bootsect.exe /nt60 c: 提示successful(即成功了!)
5、关闭cmd窗口重启计算机,自动进入安装界面,选择安装语言,同时选择适合自己的时间和货币显示种类及键盘和输入方式
6、出现“开始安装界面”,(要注意了,不点击“现在安装”)点左下角“修复计算机”(repair mycomputer),进入”系统恢复选择”,选择最后一项”命令提示符”(commandprompt),进入DOS窗口
7、输入“D:\7600\sources\setup.exe“(不带引号),开始安装
8、选择安装语言、格式化C盘,就OK了

四、vista系统下全新安装windows7(实践证明XP用此种方法也更加方便):
1、下载windows 7 7600 ISO镜像(RC或RTM),用虚拟光驱拷贝至非C盘(如D:\7600)
2、复制D:\7600文件夹中的Boot、EFI、sources文件夹和bootmgr至C盘根目录下
3、复制D:\7600\boot下Bootsect.exe至C盘根目录下
第2部需取得管理员权限
4、管理员身份运行cmd,输入c:\bootsect.exe/nt60 c:并回车(最好复制,中间有空格)
5、重启系统自动进入安装界面,点左下角的修复计算机repair my computer)
6、选择最后一项命令提示符,进入DOS窗口,输入D:\7600\sources\setup.exe进入安装界面
7、选择安装语言、格式化C盘,就OK了

五.在PE系统下的安装方法:
1、下载windows 7 7600 ISO镜像(RC或RTM),用虚拟光驱拷贝至非C盘(如D:\7600)
2、格式C盘,ntfs格式。
2、把D:\7600目录下的bootmgr和boot目录(其实只要里面的boot.sdi和bcd文件)拷贝到c盘根目录下,并在C盘根目录下建个sources文件夹。
3、把D:\7600\sources下的boot.win复制到C盘刚建的sources文件夹
4、运行cmd,然后输入c:\boot\bootsect.exe/nt60 c: 提示successful(即成功了!)
5、关闭cmd窗口,重启计算机,自动进入安装界面,选择安装语言,同时选择适合自己的时间和货币显示种类及键盘和输入方式
6、出现“开始安装界面”,(要注意了,不点击“现在安装”)点左下角“修复计算机”(repair mycomputer),进入”系统恢复选择”,选择最后一项”命令提示符”(commandprompt),进入DOS窗口
7、输入“D:\7600\sources\setup.exe“(不带引号),开始安装
8、选择安装语言、格式化C盘,就OK了

六。简单的工具硬盘安装win7的方法:(xp和vista下安装win7均可)推荐使用这种安装方法。

1.将win7的iso文件解压到安装目标盘以外的任何盘符的根目录下,

2.下载工具nt6 hdd installer.exe 直接运行从起后会在启动项里添加Nt6 hdd Installer (如没有加载成功请用管理员身份从新运行安装)

3.从起电脑后 选择进入Nt6 hdd Installer 后等待自动进入win7安装程序(选择安装目标盘.点高级选项可以格式化为ntfs格式)

4.硬盘安装工具下载链接:http://www.vdisk.cn/down/index/3854333A2298/nt6+hdd+installer+v2.8.1.rar.html

—————————–硬盘安装WIN7————————————————

硬盘下安装ubuntu的方法,老办法,看帖子就可以了

http://forum.ubuntu.org.cn/viewtopic.php?f=48&t=196335

另外装完了ubuntu不见了win7引导的,看这个帖子

http://forum.ubuntu.org.cn/viewtopic.php?f=48&t=196335

还有就是win7装的时候可以直接格C盘,不选创建分区,这样就不用弄那个讨厌的隐藏分区了。

Scapy学习笔记.0×04–SYN扫描器

Scapy系列学习笔记(未完) 来自 www.d-up.org/man
0×01.初识sacpy:http://d-up.org/man/2010/01/scapy0×01/
0×02.创造数据包:http://d-up.org/man/2010/02/scapy0×02/
0×03.发送数据包:http://d-up.org/man/2010/02/scapy0×03/
0×04.SYN扫描器:http://d-up.org/man/2010/03/scapy0×04/
………………(本人不断更新中,转载请保留此信息)

通过前面的学习,我们已经基本可以使用Scapy来生成一些数据包并发送了。现在来学习一些简单的应用,虽然简单,但是功能还是很强大的。

一个简单的SYN扫描器

TCP SYN扫描是一个半开放扫描形式,它利用了TCP 三次握手中的一个步骤,也就是传送SYN标志这个步骤,其他的后续步骤没有发生,主要利用了初次发送syn时,如果目标端口关闭,则会返回一个RST,否则返回ACK和一个SYN。SYN扫描速度很快也就是因为他连三次握手都没握完。
一个典型的SYN扫描器可以通过下面的命令来完成.


>>> sr1(IP(dst='www.d-up.org')/TCP(dport=80,flags='S'))
Begin emission:
....Finished to send 1 packets.
......*
Received 11 packets, got 1 answers, remaining 0 packets
>>
>>>

可以看到,服务器发送过来了seq,通过glags SA (syn-ack)可以看出握手成功。再来测试一个随机的端口。


>>> sr1(IP(dst='www.d-up.org')/TCP(dport=65531,flags='S'))
Begin emission:
Finished to send 1 packets.
....*
Received 5 packets, got 1 answers, remaining 0 packets
>>
>>>

可以看到seq为0,flags=RA (RST-ACK),链接不成功。

扫描多个端口

结合之前学的几个方法,可以快速扫描多个端口。首先dport为一个数组,里面有要扫描的端口,然后在将结果取出,通过查看flags字段,就可以得到目标端口的
开发情况,RA为RST-ACK ,失败。SA为SYN-ACK,成功。


>>> sr(IP(dst="192.168.1.1")/TCP(sport=RandShort(),dport=[440,441,442,443],flags="S"))
>>> ans,unans = _
>>> ans.summary()
IP / TCP 192.168.1.100:ftp-data > 192.168.1.1:440 S ======> IP / TCP 192.168.1.1:440 > 192.168.1.100:ftp-data RA / Padding
IP / TCP 192.168.1.100:ftp-data > 192.168.1.1:441 S ======> IP / TCP 192.168.1.1:441 > 192.168.1.100:ftp-data RA / Padding
IP / TCP 192.168.1.100:ftp-data > 192.168.1.1:442 S ======> IP / TCP 192.168.1.1:442 > 192.168.1.100:ftp-data RA / Padding
IP / TCP 192.168.1.100:ftp-data > 192.168.1.1:https S ======> IP / TCP 192.168.1.1:https > 192.168.1.100:ftp-data SA / Padding

处理扫描结果

上面我们显示了完整的请求和响应。我们可以通过简单的循环只显示我们感兴趣的部分,扫描的端口和结果。


>>> ans.summary( lambda(s,r): r.sprintf("%TCP.sport% \t %TCP.flags%") )
440      RA
441      RA
442      RA
https    SA

lambda 是个很操蛋的函数,需要稍微研究下,就是执行一条语句。
我们还可以通过make_table()函数来制个表。


>>> ans,unans = sr(IP(dst=["192.168.1.1","yahoo.com","slashdot.org"])/TCP(dport=[22,80,443],flags="S"))
Begin emission:
.......*.**.......Finished to send 9 packets.
**.*.*..*..................
Received 362 packets, got 8 answers, remaining 1 packets
>>> ans.make_table(
...    lambda(s,r): (s.dst, s.dport,
...    r.sprintf("{TCP:%TCP.flags%}{ICMP:%IP.src% - %ICMP.type%}")))
    66.35.250.150                192.168.1.1 216.109.112.135
22  66.35.250.150 - dest-unreach RA          -
80  SA                           RA          SA
443 SA                           SA          SA

上面的例子可以打印出 ICMP错误,来取代无法得到的响应。
扫描数量较大的时候我们可以只显示出我们关心的结果,例如开放的端口。


>>> ans.nsummary(lfilter = lambda (s,r): r.sprintf("%TCP.flags%") == "SA")
0003 IP / TCP 192.168.1.100:ftp_data > 192.168.1.1:https S ======> IP / TCP 192.168.1.1:https > 192.168.1.100:ftp_data SA

这次我们想得到一个更友好的显示,通过下面的示例可以更好的显示扫描结果:


>>> ans.summary(lfilter = lambda (s,r): r.sprintf("%TCP.flags%") == "SA",prn=lambda(s,r):r.sprintf("%TCP.sport% is open"))
https is open

当扫描的目标更多时,也许下面的显示方法更加招人喜欢:


>>> ans.filter(lambda (s,r):TCP in r and r[TCP].flags&2).make_table(lambda (s,r):
...             (s.dst, s.dport, "X"))
    66.35.250.150 192.168.1.1 216.109.112.135
80  X             -           X
443 X             X           X

如果上面的输出方法,还不能满足你,那么可以使用report_ports()函数,它不仅包括了自动化的SYN扫描,而且还生成了LaTeX格式的结果。


>>> report_ports("192.168.1.1",(440,443))
Begin emission:
...*.**Finished to send 4 packets.
*
Received 8 packets, got 4 answers, remaining 0 packets
'\\begin{tabular}{|r|l|l|}\n\\hline\nhttps & open & SA \\\\\n\\hline\n440
 & closed & TCP RA \\\\\n441 & closed & TCP RA \\\\\n442 & closed &
TCP RA \\\\\n\\hline\n\\hline\n\\end{tabular}\n'

ARP-RARP

ARP-地址解析协议

ARP功能是:在IP地址和不同网络技术的硬件地址间提供动态映射,映射TCP/IP与以太网。

32 bit Internet addr —ARP–> 48 bit mac addr

48 bit mac addr —-rarp–> 32 bit Internet addr

一台主机把以太网数据帧发送到同一局域网另台主机时,设备(网卡)只根据48 bit 的以太网地址来确定目的接口,设备不会检查IP数据报中的IP地址。即进行的是数据链路层通信,层3的协议已经被封装,得不到体现。
ARP请求通常为广播,内容为:“如果你是这个IP的拥有者,请回答你的硬件地址”。

请求:arp who-has 192.168.1.1 tell 192.168.1.119

应答:arp reply 192.168.1.1 at 00-19-e0-cf-a2-ce

应答后通常直接建立连接.

ARP缓存:

目的:高效

查看 $ arp -a

Interface: 192.168.1.119 — 0×2

Internet Address Physical Address Type
192.168.1.1 00-19-e0-cf-a2-ce dynamic

dynamic 表示为缓存中的内容,48 bit的地址用 6个16进制的数字表示。
对不存在的主机进行ARP

会进行多次ARP请求,大多数TCP的连接请求时间限制为75秒

注意:再建立TCP连接时,只有ARP应答返回时,才能建立TCP连接。
Proxy ARP – ARP代理

如果一个ARP请求从一个网络到另一个网络,那么连接着两个网络的路由器就可以回答该请求,这个过程为ARP代理。

ARP代理也称为 混合ARP 活ARP出租,他们的用途:通过两个物理网络之间的路由器可以互相隐藏物理网络,使得两个网络可以使用相同的网络号,只要把中间的路由器设置成一个ARP代理,用来相应一个网络到另一个网络的ARP请求。

免费ARP

主机发送ARP查找自己的IP地址,通常发生在接口配置的时候。

作用:1)判断IP是否冲突 2)如果主机换了MAC,免费ARP可以提醒其他主机更新ARP缓存。

RARP-逆地址解析协议

应用:无盘工作站从网络引导时,无法从磁盘读取IP地址,于是使用RARP,将MAC映射为IP。

实现过程:从网卡重读取唯一的MAC,然后发送一份RARP(一帧,广播),请求到自己的IP地址。需要网络上有RARP服务器。

RARP实现较为复杂,RARP请求时再硬件层上进行广播的,因此他们不能经过路由器,所以每个网络都有多个RARP服务器。同时由于IP地址存在于磁盘上的文件中,因此为了访问该文件,RARP服务器只能由用户进程实现,而无法猜TCP/IP中实现。

RARP请求为广播,回应为单播。

格式:rarp who-is x:x:x:x:x:x tell x:x:x:x:x:x

rarp reply x:x:x:x:x:x:x at 192.168.1.114