过滤 Nmap NSE 脚本测试结果本例中 Nmap NSE 测试脚本 http-enum.nse 用来检测 HTTP 服务的合法 URL 。
在执行脚本测试的主机上:
$ nmap -p 80 --script=http-enum.nse targetip复制代码
在目标主机上:
$ tcpdump -nn port 80 | grep "GET /"GET /w3perl/ HTTP/1.1GET /w-agora/ HTTP/1.1GET /way-board/ HTTP/1.1GET /web800fo/ HTTP/1.1GET /webaccess/ HTTP/1.1GET /webadmin/ HTTP/1.1GET /webAdmin/ HTTP/1.1复制代码
抓取 DNS 请求和响应向 google 公共 DNS 发起的出站 DNS 请求和 A 记录响应可以通过 tcpdump 抓取到:
$ tcpdump -i wlp58s0 -s0 port 53tcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on wlp58s0, link-type EN10MB (Ethernet), capture size 262144 bytes14:19:06.879799 IP test.53852 > google-public-dns-a.google.com.domain: 26977+ [1au] A? play.google.com. (44)14:19:07.022618 IP google-public-dns-a.google.com.domain > test.53852: 26977 1/0/1 A 216.58.203.110 (60)复制代码
抓取 HTTP 有效数据包抓取 80 端口的 HTTP 有效数据包 , 排除 TCP 连接建立过程的数据包(SYN / FIN / ACK):
$ tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'复制代码
将输出内容重定向到 Wireshark通常 Wireshark(或 tshark)比 tcpdump 更容易分析应用层协议 。一般的做法是在远程服务器上先使用 tcpdump 抓取数据并写入文件 , 然后再将文件拷贝到本地工作站上用 Wireshark 分析 。
还有一种更高效的方法 , 可以通过 ssh 连接将抓取到的数据实时发送给 Wireshark 进行分析 。以 MacOS 系统为例 , 可以通过 brew cask install wireshark 来安装 , 然后通过下面的命令来分析:
$ ssh root@remotesystem 'tcpdump -s0 -c 1000 -nn -w - not port 22' | /Applications/Wireshark.app/Contents/MacOS/Wireshark -k -i -复制代码
例如 , 如果想分析 DNS 协议 , 可以使用下面的命令:
$ ssh root@remotesystem 'tcpdump -s0 -c 1000 -nn -w - port 53' | /Applications/Wireshark.app/Contents/MacOS/Wireshark -k -i -复制代码
抓取到的数据:
文章插图
-c 选项用来限制抓取数据的大小 。如果不限制大小 , 就只能通过 ctrl-c 来停止抓取 , 这样一来不仅关闭了 tcpdump , 也关闭了 wireshark 。
找出发包最多的 IP找出一段时间内发包最多的 IP , 或者从一堆报文中找出发包最多的 IP , 可以使用下面的命令:
$ tcpdump -nnn -t -c 200 | cut -f 1,2,3,4 -d '.' | sort | uniq -c | sort -nr | head -n 20tcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on enp7s0, link-type EN10MB (Ethernet), capture size 262144 bytes200 packets captured261 packets received by filter0 packets dropped by kernel108 IP 10.10.211.18191 IP 10.10.1.301 IP 10.10.1.50复制代码
- cut -f 1,2,3,4 -d '.' : 以 . 为分隔符 , 打印出每行的前四列 。即 IP 地址 。
- sort | uniq -c : 排序并计数
- sort -nr : 按照数值大小逆向排序
$ tcpdump port http or port ftp or port smtp or port imap or port pop3 or port telnet -l -A | egrep -i -B5 'pass=|pwd=|log=|login=|user=|username=|pw=|passw=|passwd=|password=|pass:|user:|username:|password:|login:|pass |user '复制代码
抓取 DHCP 报文最后一个例子 , 抓取 DHCP 服务的请求和响应报文 , 67 为 DHCP 端口 , 68 为客户机端口 。$ tcpdump -v -n port 67 or 68tcpdump: listening on enp7s0, link-type EN10MB (Ethernet), capture size 262144 bytes14:37:50.059662 IP (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:0c:xx:xx:xx:d5, length 300, xid 0xc9779c2a, Flags [none]Client-Ethernet-Address 00:0c:xx:xx:xx:d5Vendor-rfc1048 ExtensionsMagic Cookie 0x63825363DHCP-Message Option 53, length 1: RequestRequested-IP Option 50, length 4: 10.10.1.163Hostname Option 12, length 14: "test-ubuntu"Parameter-Request Option 55, length 16:Subnet-Mask, BR, Time-Zone, Default-GatewayDomain-Name, Domain-Name-Server, Option 119, HostnameNetbIOS-Name-Server, Netbios-Scope, MTU, Classless-Static-RouteNTP, Classless-Static-Route-Microsoft, Static-Route, Option 25214:37:50.059667 IP (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:0c:xx:xx:xx:d5, length 300, xid 0xc9779c2a, Flags [none]Client-Ethernet-Address 00:0c:xx:xx:xx:d5Vendor-rfc1048 ExtensionsMagic Cookie 0x63825363DHCP-Message Option 53, length 1: RequestRequested-IP Option 50, length 4: 10.10.1.163Hostname Option 12, length 14: "test-ubuntu"Parameter-Request Option 55, length 16:Subnet-Mask, BR, Time-Zone, Default-GatewayDomain-Name, Domain-Name-Server, Option 119, HostnameNetbios-Name-Server, Netbios-Scope, MTU, Classless-Static-RouteNTP, Classless-Static-Route-Microsoft, Static-Route, Option 25214:37:50.060780 IP (tos 0x0, ttl 64, id 53564, offset 0, flags [none], proto UDP (17), length 339)10.10.1.1.67 > 10.10.1.163.68: BOOTP/DHCP, Reply, length 311, xid 0xc9779c2a, Flags [none]Your-IP 10.10.1.163Server-IP 10.10.1.1Client-Ethernet-Address 00:0c:xx:xx:xx:d5Vendor-rfc1048 ExtensionsMagic Cookie 0x63825363DHCP-Message Option 53, length 1: ACKServer-ID Option 54, length 4: 10.10.1.1Lease-Time Option 51, length 4: 86400RN Option 58, length 4: 43200RB Option 59, length 4: 75600Subnet-Mask Option 1, length 4: 255.255.255.0BR Option 28, length 4: 10.10.1.255Domain-Name-Server Option 6, length 4: 10.10.1.1Hostname Option 12, length 14: "test-ubuntu"T252 Option 252, length 1: 10Default-Gateway Option 3, length 4: 10.10.1.1复制代码
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 网络交换机的简单知识
- 网络安全:这十招可帮助你的网络远离黑客
- 科普|网络推广和网络营销的区别
- 推荐 10 个不错的网络监视工具,值得收藏
- 6个好用的网络监视工具,值得收藏
- 最详细的Python库总结
- 华为网络设备单臂路由配置实验
- 网络基础知识,IP地址划分及子网掩码,一分钟了解下
- VPN技术介绍
- 超详细实战演示破解windows电脑登录密码,并初步认识hash加密