网络对抗实验报告一_卿易
中国人民公安大学 网络对抗技术 实验报告一
网络侦查与网络扫描
学 号: 201720410020
区 队: 18网络实验班
实验任务(一)
网络侦查是指黑客为了更加有效地实施攻击而在攻击前或攻击过程中对目标主机的所有探测活动。网络侦查有时也被称为“踩点”。通常“踩点”包括以下内容:目标主机的域名、IP地址、操作系统类型、开放了哪些端口,以及这些端口后面运行着什么样的应用程序,这些应用程序有没有漏洞等。那么如何收集信息呢?可以利用与技术无关的“社会工程学”,搜索引擎以及扫描工具。
问题1:用百度或google搜索www.ppsuc.edu.cn中所有包含“网络安全”的网页。(附截图)

问题2:用百度或google搜索所有包含“网络安全”的pdf文档(附截图)

问题3:小丽是药学专业的一名本科生,现已从事药学专业的工作,目前她想考取一个资格证,但是报名条件中要求其工作满三年。那么,小丽想考取的是什么证。(请回答并附截图证明。)

问题4:6月28日是小王的生日,他是中国人民公安大学2008年入学的本科生。在大四这年,为了庆祝生日,他和朋友们一起看了一场刚好在生日这天上映的国产玄幻电影。在这场电影中,饰演“炼丹大师”角色的演员曾经出家,请问他当时的法号是什么?(附截图)

问题5:210.31.48.31,该IP地址是属于哪个单位的(附截图)

问题6:在一个案件中,获取了犯罪嫌疑人的一个MAC地址:40-16-9F-4E-7F-B4,请查询该MAC地址对应的厂商是(附截图)

问题7:在一个案件中,获取了犯罪嫌疑人的LAC是41064,CID是16811,这个人可能在什么地方?(附截图)

问题8:获取www.zzz.gov.cn域名注册时,注册人的邮箱是(附截图)

问题9:通过一个人的QQ号码,从互联网扩充相关线索。如网络昵称,MSN号码等信息。
也可以自己选择一个网络虚拟身份(QQ,Mail,Tel),通过互联网搜索获取该虚拟身份的其它相关信息。(请说明推理过程,附搜索截图)
例如:昵称->邮箱->QQ号码->电话、姓名->微信->物理地址...................
答:以自己qq为例,通过qq搜索得知昵称和所在地

社工库搜索->得到手机号

和使用的ip->手机号和ip都可通过公安内部手段查到对应物理地址

问题10:请查询本机的IP地址和子网掩码,并在局域网中扫描本网段内的所有存活主机(附截图)
答:
ipconfig命令查看本机ip和掩码:

扫描实验室所在局域网网段,9台主机存活:

问题11:选择一个存活IP地址,扫描所开放的端口(分别用ping扫描,syn扫描尝试和全连接扫描),并查询常用端口所对应的服务及操作系统信息。
熟悉nmap相关命令,通过抓包,分析全连接和半连接扫描数据包的特征(附截图)
答:选择192.168.0.107
ping扫描:

syn扫描,同时用wireshark抓包:


全连接扫描,同时用wireshark抓包:


从上面两个wireshark抓到的与tcp流相关的包可以看出,syn仅仅与目标主机进行了前两次握手就发送RST拒绝连接了;而全连接扫描完整的进行了三次握手才断开主机与目标的连接,故SYN扫描只有三个包,全连接扫描有四个包。
常用端口及服务:


尝试扫描OS版本,结果不明,但是从上面扫描结果看到“Microsoft”字样,肯定是Windows系列的:

问题12:在实验楼上网的局域网内,请扫描出来,哪些机器开启了ftp服务,哪些机器开启了远程桌面连接服务,并附截图证明。
答:
192.168.0.111,192.168.0.113,192.168.0.117,192.168.0.124开启了ftp服务


192.168.0.107,192.168.0.111,192.168.0.113,192.168.0.117,192.168.0.124开启了远程桌面服务


问题13:用程序实现全连接端口扫描,扫描常用端口
答:python实现端口扫描:
#! /usr/bin/env python3
#-*- coding:utf-8 -*-
import socket
import threading
OPEN_COUNT = 0
lock = threading.Lock()
threads = []
def testPort(host, port):
global OPEN_COUNT
s = socket.socket()
try:
s.connect((host, port))
print('[+] {} open'.format(port))
lock.acquire()
OPEN_COUNT += 1
lock.release()
except: pass
finally: s.close()
def scanPorts(host, ports, max_thread_num=10):
socket.setdefaulttimeout(1)
global threads
for p in range(ports[0], ports[1]+1):
t = threading.Thread(target=testPort, args=(host, p))
try:
t.start()
threads.append(t)
except RuntimeError:
pass
if len(threads) % max_thread_num == 0:
for t in threads:
t.join() #等待max_thread_num个线程结束之后再重新开始一轮新的线程
threads=[]
for t in threads:
t.join()
print('Total is {}'.format(OPEN_COUNT))
if __name__ == '__main__':
import sys
if len(sys.argv) == 4:
scanPorts(sys.argv[1], (int(sys.argv[2]), int(sys.argv[3])))
elif len(sys.argv) == 5:
scanPorts(sys.argv[1], (int(sys.argv[2]), int(sys.argv[3])), int(sys.argv[4]))
扫描本机端口,范围是1~1000,结果如下:


浙公网安备 33010602011771号