Board logo

标题: MSDOS下联网方法 [打印本页]

作者: Jneny     时间: 2009-9-17 19:18    标题: MSDOS下联网方法
以前对DOS下访问网络很模糊,正好自己又做了一次。分享下自己的做法。如有错误恳请指正。 先安装 Ms Network Client 3.0 (以下简称MsClient) 运行setup.exe安装MsClient,选择你的网卡,如果你的网卡不在列表内,则随便选择一个。设置好计算机名,添加好TCP/IP协议,并且设置好IP网卡之类信息。 去掉隐藏和显示所有文件,在c:盘会看到autoexec.bat和config.sys文件。 这两个文件放在你做好的IMG镜像里, 然后默认目录c:\net 找到procotol.ini和system.ini文件 因为我是nForce4的网卡,因为不在列表里,所以随便选择了3Com EtherLink procotol.ini文件: [network.setup] version=0x3110 netcard=ms$elnk,1,MS$ELNK,1 ;网卡NDIS驱动 transport=ms$nwlink,MS$NWLINK ; Nwlink IPX/spx协议 transport=ms$ndishlp,MS$NDISHLP ;NDIS增加型驱动程序 transport=ms$netbeui,MS$NETBEUI ;NetBeUI协议 transport=tcpip,TCPIP ; TCP/IP协议 lana0=ms$elnk,1,ms$nwlink lana1=ms$elnk,1,ms$ndishlp lana2=ms$elnk,1,ms$netbeui lana3=ms$elnk,1,tcpip [TCPIP] NBSessions=6 SubNetMask0=255 0 0 0 ;子网奄码 IPAddress0=192 168 0 20 ;IP地址 Gateway=192 168 0 1 ; 网关 DisableDHCP=1 ;关闭DHCP分配地址,0是打开 DriverName=TCPIP$ BINDINGS=MS$ELNK LANABASE=2 [MS$NWLINK] FRAME=ETHERNET_802.2 DriverName=nwlink$ BINDINGS=MS$ELNK [protman] DriverName=PROTMAN$ ; 这段是必须的.加载protman.dos PRIORITY=MS$NDISHLP [MS$ELNK] ; 网卡标识,这个值可以随意但上面各段的BINDINGS值要和此值相同 DriverName=ELNK$ ;网卡名. INTERRUPT=3 IOADDRESS=0x300 DMACHANNEL=none DMAMODE=burst MAXTRANSMITS=12 [MS$NDISHLP] DriverName=ndishlp$ BINDINGS=MS$ELNK [MS$NETBEUI] DriverName=netbeui$ SESSIONS=10 NCBS=12 BINDINGS=MS$ELNK LANABASE=1 system.ini文件 [network] sizworkbuf=1498 filesharing=no ; 文件共享,设置成yes打开共享 printsharing=no ;打印共享,同上 autologon=yes ;自动登录 computername=GO ; 电脑名 lanroot=C:\NET username=GO workgroup=WORKGROUP reconnect=yes dospophotkey=N ; 设置弹出窗热键 lmlogon=0 logondomain= ;登录域 preferredredir=full ;没有域的网络设置成basic,可以节省80多KB常规内存 autostart=full ; 此值和上面值对应 maxconnections=8 [network drivers] netcard=elnk.dos transport=ndishlp.sys,*netbeui,tcpdrv.dos,nemm.dos devdir=C:\NET ; 驱动的根目录 LoadRMDrivers=yes ; 不知道 [386enh] ; 没发现有什么用 TimerCriticalSection=5000 UniqueDosPSP=TRUE PSPIncrement=2 然后是autoexec.bat和config.sys部分 config.sys DEVICE=HIMEM.SYS /TESTMEM:OFF /Q DEVICEHIGH=UMBPCI.SYS device=C:\NET\ifshlp.sys ;这个一定要 FILES=20 LASTDRIVE=Z autoexec.bat 内容 SET PATH=C:\NET C:\NET\net initialize ; 初始化protocol.ini和system.ini文件配置 C:\NET\nwlink C:\NET\netbind.com C:\NET\umb.com C:\NET\tcptsr.exe C:\NET\tinyrfc.exe C:\NET\nmtsr.exe C:\NET\emsbfr.exe C:\NET\net start ;启动网络 先在VMware 6里试试,这个网卡驱动要换掉. 网卡驱动可以在MaxDOS里可以找到,包括protocol.ini文件, 个人感觉只要用到TCP/IP协议都可以应对局域网和外网的程序. 去掉不必要的协议, [network.setup] version=0x3110 netcard=vmware,1,VMWARE,1 transport=tcpip,TCPIP lana0=vmware,1,tcpip [TCPIP] NBSessions=6 SubNetMask0=255 0 0 0 IPAddress0=0 0 0 0 DisableDHCP=0 DriverName=TCPIP$ BINDINGS=vmware LANABASE=0 [protman] DriverName=PROTMAN$ PRIORITY=MS$NDISHLP [vmware] ; 这段是从MaxDOS里搬来的. DriverName=PCNTND$ MaxMultiCasts=10 TxBuffers=4 RxBuffers=4 system.ini部分, [network drivers] netcard=pcnet.dos transport=tcpdrv.dos,nemm.dos devdir=C:\NET LoadRMDrivers=yes 其它段不变. nForce系统的软网卡,需要两个驱动文件才能驱动成功. 和VMware一样,只保留TCP/IP协议. [network.setup] version=0x3110 netcard=ms$amdnet,1,MS$AMDNET,1 transport=tcpip,TCPIP lana0=ms$amdnet,1,tcpip [TCPIP] NBSessions=6 DefaultGateway0=192 168 0 4 SubNetMask0=255 255 0 0 IPAddress0=192 168 3 29 DisableDHCP=1 DriverName=TCPIP$ BINDINGS=MS$AMDNET LANABASE=0 [protman] DriverName=PROTMAN$ PRIORITY=MS$NDISHLP [pktdrv] ; 注意这段, 和下面的dis_pkt.dos相应 drivername=PKTDRV$ bindings=MS$AMDNet intvec=0x60 chainvec=0x66 [MS$AMDNET] DriverName=UNDIS$ MaxMultiCasts=10 TxBuffers=4 RxBuffers=4 system.ini部分, [network drivers] netcard=nfv1.dos,ndis.dos ; 有两个驱动.NDIS.dos好像是intel的. transport=tcpdrv.dos,nemm.dos,dis_pkt.dos devdir=C:\NET LoadRMDrivers=yes 就这些,没有加载哪部分协议,哪部分就可以去掉,相应的autoexec.bat里的也可以去掉. DOS驱动程序一般有两种, 一种是packet,一种是ndis, 大部分DOS程序都是用packet的驱动,但是新出的驱动都是ndis的, 所以用一些网络功能的软件会出现提示 :未找到packet驱动 NO PACKET DRIVER FOUND 可以在protocol.ini添加[pktdrv] 段,并且在system.ini里添加dis_pkt.dos 这样就把ndis转变成packet的驱动. wattcp.cfg文件也很重要. 这个文件在ghost里最早被接触过. 格式如下: my_ip=192.168.0.20 或 IP=192.168.0.20 (ghost用这句) netmask=255.255.0.0 ; 子网奄码 gateway=192.168.0.1 ;网关 nameserver=202.96.209.5 (换成相应的DNS) 比如ssh2dos.exe启动后会在LANROOT目录下查找这个wattcp.cfg文件. 如果没有找到此文件就去dhcp...bootp..等等获得自己的IP. 如果仍找不到就提示失败. dos访问windows共享 net use Z: \\server\share ;映射网络共享 net share a=C:\soft ;设置共享 net share a=c:\soft /full ;设置共享并且有读写权限 在DOS下设置共享之前需先开启server服务 net start server 并且在system.ini里要设置值 filesharing=yes 还要更换net版本。下载>> 原贴:www.cn-dos.net/forum/viewthrea ... 关于ndis转成packet驱动:www.cn-dos.net/forum/viewthrea ... 安装完MsClient后,c:\net目录会有几十个文件存在。 也足够保证网络正常的情况,可以精简些文件。 文件列表: ifshlp PROTMAN.DOS、dis_pkt.dos、tcpdrv.dos、nemm.dos、ndishlp.sys、protman.exe、protocol.ini、system.ini lmhosts、hosts、services、protocol、networks net.exe、net.msg、neth.msg nwlink、netbind.com、umb.com 、tcptsr.exe、tinyrfc.exe、nmtsr.exe、emsbfr.exe 就这些了,还写了些笔记在附件里。比较乱。 这是在VMware下用ftp 连接到ftp.microsoft.com [ Last edited by Jneny on 2009-10-13 at 12:14 ]
附件 1: ftp.PNG (2009-9-17 20:16, 13.34 KiB,下载次数: 10)


附件 2: 关于MaxDOS.rar (2009-9-17 20:44, 148.74 KiB,下载次数: 190)

作者: xugaohui     时间: 2009-9-18 22:48
顶楼主了,你写的很详细。 不如直接用这个软件好了:

作者: Jneny     时间: 2009-9-19 09:17
看过楼上做的这个包, 不过我还是没搞清楚,在哪设置DNS, 我在DOS下连接FTP都是很在WINdows下ping 获得IP后再连接. 还有用net use z: \\server\share 这样可以连接到server服务器,但是用ping server好像提示找不到主机. 很奇怪.PING只能直接PING目标IP.

作者: yfwang0798     时间: 2009-10-2 10:10
楼主的方法作为理论学习可以,但是实际应用就差得太远了,一张盘只能应用于一种网卡,老外作的脚本制作的软盘,一张软盘可以自动识别不同网卡驱动,设置lmhosts文件还可以跨越网段克隆,老外的网站是www.netbootdisk.com ,制作需求:vfd(虚拟软盘)winimage和windows xp。先在xp中创建一张dos系统软盘,然后执行该批处理MakeDisk.bat,就可以创建一张网络软盘了,想看一下制作后的效果,下载hiren boot cd,刻录成光盘,用光盘启动机器,选择next-other tools-universal tcp/ip disk

作者: wjyz08     时间: 2009-10-3 05:58    标题: 路过
小菜看不懂呀。。。

作者: xugaohui     时间: 2009-10-3 14:07
我这个软件也可以编辑lmhosts文件.为什么不用这个呢? www.netbootdisk.com支持的网卡数量太少了。 [ Last edited by xugaohui on 2009-10-3 at 14:08 ]

作者: kkevsekk     时间: 2009-10-6 14:58
收集学习去。。。。

作者: LEE660124     时间: 2010-2-6 22:23
自己研究很久还没成功,试试楼主的方法

作者: yonghu111     时间: 2010-4-14 19:10
感谢分享!!!

作者: kandy     时间: 2010-4-29 15:42
大致看懂了,不过适合用在启动盘联网么?