有一台unix主机,其上除了telnet,没有任何已知端口的服务,不知道ip地址和子网掩码,但现有一个可登录的帐号,只能通过网络远程登录,问怎么获得此机器的ip的子网掩码,并一次正确的配置客户机的ip和子网掩码,远程登录到unix主机上。
我想到了用直连线连接unix主机与一台客户机,在客户机上运行抓包工具,在unix主机启动时,会抓获一些arp广播包,可以获得它的ip地址,但却不能获得子网掩码,故不能正确配置客户机的ip和掩码。
请教大家还没有其他的好办法。
shanlingyun 回复于:2005-10-09 15:38:39
广播包的广播地址如:1.1.1.255就决定了烟吗是24位咯
apen 回复于:2005-10-09 20:45:05
你想干什么????
platinum 回复于:2005-10-10 08:32:34
先登录,再获得,获得用 ifconfig,登录的时候已知目的 IP,你的 IP 需要自己设计一下
可以考虑最小的可能,假如对方是 30 位掩码,IP 是 1.1.1.1
那么你就把 IP 设成 1.1.1.2(划到同一个假设是 30 位掩码的子网里),MASK 设成 255.255.255.0 就肯定可以登录
登录以后通过 ifconfig 确认一下,然后再调整
剑心通明 回复于:2005-10-10 10:42:34
引用:原帖由 "platinum" 发表: 先登录,再获得,获得用 ifconfig,登录的时候已知目的 IP,你的 IP 需要自己设计一下
可以考虑最小的可能,假如对方是 30 位掩码,IP 是 1.1.1.1
那么你就把 IP 设成 1.1.1.2(划到同一个假设是 30 位掩码的子网?......... 这个方法不错
chinesecai 回复于:2005-10-11 16:08:19
不错在哪里?
ip不知道,如何登录,登录必知其ip等
wonderliang 回复于:2005-10-12 15:08:57
ping广播地止是好办法
河里的鱼 回复于:2005-10-12 15:23:52
ping 224.0.0.1
platinum 回复于:2005-10-12 16:21:47
sorry,没看清,“不知道IP”看成了“知道IP”
同意上面的做法,发广播,然后听包,看哪个 IP 有回应
我爱臭豆腐 回复于:2005-10-12 16:30:50
这个题目真是有一点变态啊.:) 但是确实是有意思.如果是禁止了icmp怎么办呢:)
wangcocoo 回复于:2005-10-12 18:27:42
有点意思!看来要死点脑细胞了!期待答案中……
河里的鱼 回复于:2005-10-12 18:31:29
引用:原帖由 "我爱臭豆腐"]这个题目真是有一点变态啊.:) 但是确实是有意思.如果是禁止了icmp怎么办呢:) 发表:
那就写一个脚本用ARPING一个一个来试吧
至于端口嘛TELNET65535下就好啦 :mrgreen: :mrgreen:
bingosek 回复于:2005-10-12 18:36:23
先抓arp包,看看有多少IP,然后用telnet把所有在arp中的IP试一遍,找到能登陆的机器,然后ifconfig就知道掩码了
platinum 回复于:2005-10-12 18:42:25
不知这样行不行
利用听包,应该能得知他的 MAC
利用 rarp 的原理,反向问他的 IP,不知这样是否可行
河里的鱼 回复于:2005-10-12 18:46:16
引用:原帖由 "platinum" 发表: 不知这样行不行
利用听包,应该能得知他的 MAC
利用 rarp 的原理,反向问他的 IP,不知这样是否可行
这个方法好,没想到
但是你怎么知道这个MAC是他呢?
platinum 回复于:2005-10-12 19:21:12
Linux 在启动并设置 IP 前,会向网络中先发送 arp 包来寻找是否有 IP 冲突的可能,如果没有冲突再设置自己的 IP
这时,可以通过听包来获得他的 MAC(用 T568-A 线直接连接两台机器的网卡),之后要做的,就是我上面说的了 ^_^
至于知道了 IP 之后,再用我最开始说的那样猜测一个 IP,用 30 位掩码连上他,然后 ifconfig 查看最后正确的 MASK
我爱臭豆腐 回复于:2005-10-12 20:40:18
引用:原帖由 "platinum" 发表:
至于知道了 IP 之后,再用我最开始说的那样猜测一个 IP,用 30 位掩码连上他,然后 ifconfig 查看最后正确的 MASK
你去安全局当特务算了 :em11:
河里的鱼 回复于:2005-10-13 09:58:20
引用:原帖由 "platinum" 发表:
至于知道了 IP 之后,再用我最开始说的那样猜测一个 IP,用 30 位掩码连上他,然后 ifconfig 查看最后正确的 MASK
你的意思是说在起来之前发一个who has"自己"的包,从这里看吗?
very good
menp9999 回复于:2005-10-13 17:50:30
引用:原帖由 "marlboro5460"]有一台unix主机,其上除了telnet,没有任何已知端口的服务,不知道ip地址和子网掩码,但现有一个可登录的帐号,只能通过网络远程登录,问怎么获得此机器的ip的子网掩码,并一次正确的配置客户机的ip和子网掩码,远程?......... 发表:
hjp0021 回复于:2005-10-14 16:31:23
直接拿便携用SNIFFER抓包,看的一清二楚。
我爱臭豆腐 回复于:2005-10-14 16:51:54
如果是抓包的话需要先配置交换机.现在使用hub的比较少了.所以变的更不容易了.但是如果是cisco的交换机缺省使用了http方式的话可以扰过口令直接执行配置交换机的命令. 但是现在的新的版本里面已经改正了这些错误.
liuyanbo 回复于:2005-10-16 12:43:21
用fluke nettool工具插上就知道了
xiaodudu 回复于:2005-10-16 16:18:31
问题是远程呢,听不到包呢
atwo 回复于:2005-10-16 17:07:01
这个这么听起来像入侵,不像面试题啊!
ycfei 回复于:2005-10-18 14:53:54
公司在哪?
你打的过去看下不就行了吗?
thankss 回复于:2005-10-18 15:49:31
我想这个问题,你应该再问一句:“远程”指什么?
然后才能讲方法了,当然可以用一些扫描工具。
mickeys 回复于:2005-10-18 15:59:37
再看看。
snow888 回复于:2005-10-31 09:29:43
我怎么听起来像黑客,楼主的目的是什么?
不知道 IP ,是否知道对方的域和Servername?
hdazxf 回复于:2005-11-07 16:12:42
试试登陆到主机,写段广播ICMP子网掩码请求程序
[ 本帖最后由 hdazxf 于 2005-11-7 16:13 编辑 ]
bugkill 回复于:2005-11-07 21:05:53
引用:原帖由 bingosek 于 2005-10-12 18:36 发表
先抓arp包,看看有多少IP,然后用telnet把所有在arp中的IP试一遍,找到能登陆的机器,然后ifconfig就知道掩码了
我认为这个可以
nmap ip的话扫描呵呵就能看到端口和服务呀
qdwmail 回复于:2005-11-07 22:05:09
如果不知道IP,又不在一起,估计要黑别人机器吧
cppunit 回复于:2005-11-10 17:22:04
引用:原帖由 platinum 于 2005-10-12 19:21 发表
Linux 在启动并设置 IP 前,会向网络中先发送 arp 包来寻找是否有 IP 冲突的可能,如果没有冲突再设置自己的 IP
这时,可以通过听包来获得他的 MAC(用 T568-A 线直接连接两台机器的网卡),之后要做的,就是我上 ...
根本不知道server用的是哪个ip,一个一个试吗?ipv4的ip 地址也不少吧
cppunit 回复于:2005-11-10 17:41:43
这个问题没写全吧。我先下自己的看法:
前提:肯定是在一个局域网呀,放在广域网根本就没戏
解决思路:
1. 直接从链路层想找到服务器ip是不可能的
链路层的广播,arp,rarp,bootp或被动的dhcpd都不成。为什么呢?以太网的机制,是在一条共享信道上,问“有人吗”。如果这信道上没有人回答,那就没折了。你不能强制这台server发响应包呀。
比如dhcpd本身就是一个监听链路层的协议,但是它也需要客户端主动响应。你可以在笔记本上开dhcpd server,但是那个服务器不理你也没折。
2. 直接从网络层上监听也不可能
基本上这个就不用解释了。
3. 使用楼上的ping可以吗?
ip地址太多了,没折
那么解决办法是什么呢?如果私下里我会说出题的人是笨蛋,但是现在是找工作,ok,你是大爷,偶来想办法。
非常简单: 用windump监听整个网络。网络里面有很多ip地址,基本上很快能够确定子网掩码。
比如我就很快抓到下面信息:
引用:
17:32:20.320642 IP 221.202.177.39.3077 > 10.10.26.105.2833: . 1156825869:1156827309(1440) ack 1157595415 win 64163
17:32:20.326692 IP 61.141.123.147.13719 > 10.10.26.144.1115: UDP, length: 1420
17:32:20.327343 IP 10.10.26.93.2812 > 211.154.222.8.http: . ack 3920331949 win 17520
17:32:20.327439 IP 10.10.26.144.1115 > 61.141.123.147.13719: UDP, length: 20
17:32:20.327874 IP 10.10.26.158.ms-sql-m > 10.10.189.69.netbios-ssn: S 3833253740:3833253740(0) win 65535 <mss 1460,nop,nop,sackOK>
17:32:20.327885 IP 10.10.26.158.ibm-cics > 10.10.97.166.netbios-ssn: S 3833304501:3833304501(0) win 65535 <mss 1460,nop,nop,sackOK>
17:32:20.327894 IP 10.10.26.158.tabula > 10.10.128.58.netbios-ssn: S 3833408111:3833408111(0) win 65535 <mss 1460,nop,nop,sackOK>
17:32:20.327897 IP 10.10.26.158.sas-2 > 10.10.11.191.netbios-ssn: S 3833346522:3833346522(0) win 65535 <mss 1460,nop,nop,sackOK>
17:32:20.331638 IP horatio-177.cs.utexas.edu.39504 > 10.10.26.67.igi-lm: . ack 545583981 win 17001
17:32:20.334446 arp who-has 10.10.27.167 tell 10.10.26.58
17:32:20.336179 IP lib3.store.vip.sc5.yahoo.net.http > 10.10.26.154.2129: P 1841283316:1841284262(946) ack 863883909 win 65535
17:32:20.336481 IP lib3.store.vip.sc5.yahoo.net.http > 10.10.26.154.2129: F 946:946(0) ack 1 win 65535
17:32:20.336858 IP 10.10.26.154.2129 > lib3.store.vip.sc5.yahoo.net.http: . ack 947 win 64589
17:32:20.336870 IP 10.10.26.154.2129 > lib3.store.vip.sc5.yahoo.net.http: F 1:1(0) ack 947 win 64589
17:32:20.337003 IP lib3.store.vip.sc5.yahoo.net.http > 10.10.26.154.2129: . ack 2 win 65534
17:32:20.339305 IP 10.10.26.105.4410 > 218.26.171.200.1755: S 1408043765:1408043765(0) win 16384 <mss 1460,nop,nop,sackOK>
我用tcpdump的,用windump也一样呵。
现在知道了吧,网类大部分地址都是10.10.26.*,基本上,工作完成一半了。
下面的工作,简单了,nmap,机器上都有吧,nmap -p 23 -iL host.list
host.list是这个网段的所有ip地址。
看起来工作就要完成,且慢,咱们现在应该是一个不相干网段的ip地址呢,nmap到最后一定没结果。怎么办?nmap加上windump搞定。windump在nmap时,查看哪个有23端口的msg发出来,找到,就是它。
呵呵。偶想问问楼主,这个工作多少钱呀。偶马上要失业了,正在郁闷中。拉偶一把吧,谢谢了。
cppunit 回复于:2005-11-10 17:53:27
呵呵,这题还有隐含条件,人家没说让用ping的。
另外,这个网络必须是工作中的网络,否则没法子做第一步,得出ip地址段。
上面有朋友说,现在都是交换机。偶想总有arp包的吧,从arp包里面能看到 who has xxx,这个也能找数个ip段吧。
除了上面的办法,还有更损的办法,呵呵,是这样干:
网络上有arp包,对吧,看看人家再找誰,然后看看响应的结果是什么,最后把 笔记本的mac地址改成跟那个响应的mac地址。然后再用windump,发到那台机器的包,现在都能听到了。这时可以一次性的正确找到ip和 mask,因为这个在tcp包里面都有的,太容易看到了。
然后就很容易设置ip地址和子网掩码了。设完之后,直接用nmap扫描即可。呵呵。
偶真的要失业了,兄弟们有系统管理方面的消息,给偶发一个吧,偶这里先谢过了。
双眼皮的猪 回复于:2005-11-11 22:33:23
开机时机器主动发送免费ARP的时候可以获得他的ip地址,通过广播地址和IP地址计算掩码好像也不是太难.
cppunit 回复于:2005-11-14 13:30:44
引用:原帖由 双眼皮的猪 于 2005-11-11 22:33 发表
开机时机器主动发送免费ARP的时候可以获得他的ip地址,通过广播地址和IP地址计算掩码好像也不是太难.
你要重启服务器吗?呵呵
sunsroad 回复于:2005-11-15 13:56:08
在之前的Linux版本的ping有一个参数,具体是什么我记不清楚了,你可以用来ping广播地址,ping -x 255.255.255.255。它可以让网络上的每一台机器产生回应的,到时你就可以通过白金的方法查找机器了。
点水蜻蜓123 回复于:2005-11-18 10:10:19
都是强人!~ 方法好多,学习ing!
ivyharry 回复于:2005-11-21 06:07:03
一定得知道它在哪个网络
要不没戏
知道以后找个扫描软件扫一下看看
通过系统特性看能不能确定是哪台吧....
fogyisland 回复于:2005-11-22 15:02:49
最简单的方法,不是有台远端机器么和一台客户机器么。看他的意思服务器上应该没有显示器。客户机器上应该有显示器。不然怎么操作啊。对吧
把显示器网服务器上一接。问题统统解决!
输入用户名和密码!然后ifconfig 就知道IP 了!
然后把显示器接回去。就可以登陆了!
[ 本帖最后由 fogyisland 于 2005-11-22 15:04 编辑 ]
fogyisland 回复于:2005-11-22 15:07:43
依照楼猪的 提法,这个网络内的机器应该不会太多,而且运行的客户端是WINODWS 的可能性会很高。
所以依照这个特性。找一个GUI的扫描软件对整个网段进行扫描。同时剔除一些不可能的段。应该很快能够找出主机来!
angelagod 回复于:2005-11-22 17:48:53
引用:原帖由 sunsroad 于 2005-11-15 13:56 发表
在之前的Linux版本的ping有一个参数,具体是什么我记不清楚了,你可以用来ping广播地址,ping -x 255.255.255.255。它可以让网络上的每一台机器产生回应的,到时你就可以通过白金的方法查找机器了。
应该是不能PING的,因为题目里面讲了,那台服务器,只开了TELNET权限,也就是说,对外只开了23端口——猜的,说错不要打我。所以ICMP应该是禁用了的。PING是不通的。
所以应该还是用查看ARP包的方式。
个人不会用那么多抓包、又xxdump的方法,不知这种蠢方法行不行:
先在“远程终端”(应该是在同一局域网内的)扫描一下整个网段,在路由器上sh arp一下(假设能上路由器啦)——起码知道网段啦。然后一台一台地PING,PING不通的,目标应该就在其中,然后再一台一台地试着TELNET。试到成功的,就行了!
呃……貌似只有网管才能用的方法,黑客是没办法了——要先破解路由器密码才行…… -___-b
ha_ 回复于:2005-11-29 17:09:14
引用:原帖由 fogyisland 于 2005-11-22 15:02 发表
最简单的方法,不是有台远端机器么和一台客户机器么。看他的意思服务器上应该没有显示器。客户机器上应该有显示器。不然怎么操作啊。对吧
把显示器网服务器上一接。问题统统解决!
输入用户名和密码!然后ifcon ...
没有显示器就不能操作机器了吗?你真幽默.
extend_asdfqwer 回复于:2005-12-02 15:04:38
引用:原帖由 angelagod 于 2005-11-22 17:48 发表
应该是不能PING的,因为题目里面讲了,那台服务器,只开了TELNET权限,也就是说,对外只开了23端口——猜的,说错不要打我。所以ICMP应该是禁用了的。PING是不通的。
所以应该还是用查看ARP包的方式。
...
错,ICMP不是3层协议,不涉及端口,当然可以ping。
charlesc 回复于:2005-12-02 18:10:29
找个支持DISCOVERY PROTOCOL软件,就可以全部知道!
独孤九贱 回复于:2005-12-02 18:30:59
前面的回复我没有一一看,不过换成我的做法是:
重启unix,unix启动之时,会有arp通告,sniffer这样就可以得到其arp地址了。
在本机上设和其临近的地址,再设一个大的掩码,保证对端IP在些网段内……over
fish007 回复于:2005-12-12 16:23:27
首先楼上这位,连接两台主机用的是交叉线而不是直连线,其次你用抓包工具能获得unix主机的IP那么同时就可以
知道它的掩码了
hustpp 回复于:2005-12-15 14:48:48
直接抓arp包就可以,这个办法我用过,有效
skylove 回复于:2005-12-15 15:25:19
我的做法:
必须我要和那unix能联在同一个物理逻辑上的子网内才有办法
1.先听包,可以听到同段的ip地址,也容易听到广播包的,倒着算就可以得到ip段和掩码;
2.设置我们这台机器为任意一个可用段的ip地址;然后nmap 整个段的所有机器的1-65535个口子(一般来说服务都开在1-1024的多吧,有时间要求就只扫1-1024),把得到的结果,只有23的找出来,这基本就应该排除来只有几个了...
3.利用"指纹识别技术"来判断操作系统(我想题目里至少说了是什么unix吧?否则就是默认网内只有这台unix类型主机?) nmap -sS -p 23 -O -v 排除出来的几个主机
4.如果结果只有那一个,基本就能得出来了,如果有多个...碰运气吧^0^,如果对方的unix管理员实在是个高手,把操作系统能用"指纹识别"的代码都换过了...那...我求那公司让我在那里白工作一年,我也要跟在那高手手下学点东西才出来混了.
谁出的题,挺不错的嘛~~~~真正要做起来,大概需要30分钟呢,而且还是有工具的情形下.
robert2000 回复于:2005-12-30 15:32:28
引用:原帖由 我爱臭豆腐 于 2005-10-12 16:30 发表
这个题目真是有一点变态啊.:) 但是确实是有意思.如果是禁止了icmp怎么办呢:)
把机砸了,嘿~~
北极星 回复于:2006-01-04 20:54:25
先知道机器在哪儿,然后打个电话过去,请人用你知道的用户名和密码进去,打ipconfig看一下IP地址,然后告诉你,就OK了。做事要以人为本,呵呵!
估计如果真有公司出这个题的话,可能考得就是你的团队协作能力和灵活性,不要死脑筋啊。
karenleecn 回复于:2006-01-05 11:12:22
本人也不知道如何做,关注中……
yszll 回复于:2006-07-06 07:28:02
...........关注.....
[ 本帖最后由 yszll 于 2006-7-6 07:47 编辑 ]
mars531706 回复于:2006-07-06 09:15:59
禁止了ICMP也可以ping,ping 以后抓包就可以看下是什么错误,也可以看出是主机存在还是端口被禁止了
iorifreedom 回复于:2006-09-29 10:31:55
一个题目发现人多就是想法各异阿
|