现系统的学习一下Web渗透相关的命令

ping

ping 命令是用来测试TCP/IP 网络是否畅通或者测试网络连接速度的命令,对确定网络是否正确连接,以及网络连接的状况十分有用。简单的说,ping就是一个测试程序,如果ping运行正确,大体上就可以排除网络访问层、网卡、Modem的输入输出线路、电缆和路由器等存在的故障,从而缩小问题的范围。

ping命令的原理是根据计算机唯一标示的IP 地址,当用户给目的地址发送一个数据包时,对方就会返回一个同样大小的数据包,根据返回的数据包用户可以确定目的主机的存在,并初步判断目的主机的操作系统。

ping命令使用了ICMP报文,ICMP报文有很多的种类,其中ping使用的是回显请求和回显应答报文

下面的是请求报文的具体信息:

下面的是返回报文的具体信息:

telnet

telnet命令用于登录远程主机,对远程主机进行管理。telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了。

windows也有telnet协议,只不过,默认是关闭的,使用telnet探测虚拟机的22端口,会进入一个空白的画面。虽然不能控制虚拟机,但是可以说明22端口是可用的。如果端口不可用会提示链接失败。

telnet使用23端口

需要远程连接主机时,该主机需要开启telnet服务,才能被连接

具体使用,不再演示!

netstat

netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况

用法:

netstat -a     //列出所有端口
netstat -at //列出所有tcp端口
netstat -au //列出所有udp端口 netstat -l //只显示监听端口
netstat -lt //只列出所有监听 tcp 端口
netstat -lu //只列出所有监听 udp 端口

我最常用的是,用来查看所开启的端口/服务:

traceroute

traceroute命令用于追踪数据包在网络上传输时的全部路径,它默认发送的数据包大小是40字节。通过traceroute我们可以追踪本主机到目的主机的报文交换都经过了哪些路由器

当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其ip地址。

一般服务器上是不安装的,需要yum install traceroute 安装后使用

主要流程:

1.构造一个UDP报文,TTL分别为1,当这个报文到达第一个路由器后,TTL减去1后为零,报文被丢弃,然后路由器发送ICMP报文(时间超过)给源主机。

2.构造UDP报文,TTL为2,同样的,第二个路由器会返回ICMP报文(时间超过)给源主机

(以此类推,注意发送过程中的UDP报文使用的端口都是非法端口,以使最后达到的时候无法交付,不然你就不知道什么时候应该停)…

3.直到TTL 到达某个值,而这个值可以使这个UDP报文刚好到达目的主机,由于报文的端口号不合法,目的主机返回ICMP(端口不可达)报文给源主机。

(上述过程中,路由器和目的主机返回的ICMP报文中均含有它们的地址,所以得到了路径。)

实际实现中,源主机每次发送三个相同TTL的UDP报文,因为现实中网络环境比较复杂,可能会有丢包情况发生。

从图中可以看出记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是ms,其实就是-q的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间。在后面一部分我们会看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。

nslookup

用于翻译域名对应的ip和DNS

服务器上一般没有,需要手动安装

1、找到提供nslookup命令的软件包

yum  provides  */nslookup

inux下提供nslookup命令的软件就是 bind-utils

2、安装

yum install -y bind-utils

比如查看百度的ip,其中Server表示当前的DNS:

tcpdump

抓包工具

实际上tcpdump命令是一个抓包命令,它能抓取传递到指定网卡的数据包,ftp协议及telnet协议是明文传递的,因此此抓包命令可以直接抓取明文的信息,所以使用telnet协议进行远程登陆是非常危险的。现在使用基于非对称加密的ssh协议比较安全,已取代了telnet协议。

参数介绍:

-i 指定网卡
-nn 键给数据包中的域名与服务转为ip和端口
-X 以十六进制和ASCII吗显示数据包内容
port 指定监听的端口
tcpdump -i ens33 -nn -X port 21 检查21端口的数据包

1、linux中ftp服务需要下载专门的vsftpd工具包

yum install vsftpd

2、开启ftp服务

systemctl start vsftpd

3、开始监听

tcpdump -i eth0 -nnX port 21

4、客户端访问

ftp 服务器ip

原因后面解决!

curl

curl是一个非常实用的、用来与服务器之间传输数据的工具;支持的协议包括 (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP),curl设计为无用户交互下完成工作;

curl提供了一大堆非常有用的功能,包括代理访问、用户认证、ftp上传下载、HTTP POST、SSL连接、cookie支持、断点续传……
1、查看Http头

2、打印网站页面

3、将网站页面保存

参考

1、Web安全-Linux网络命令

2、ping命令发送了什么报文?

3、traceroute命令发送了什么报文?

4、Linux安装nslookup命令

最新文章

  1. label中设置某些指定的字体的属性设置(Color,Size,FontColor)
  2. sharepoint2013的审核日志的时间区域设置
  3. PHP 记录日志
  4. Openjudge计算概论-奇数单增序列
  5. Log4J2基本配置
  6. underscorejs-countBy学习
  7. [转]C++强制类型转换
  8. 解决未能启动服务“VMware Authorization Service”
  9. ASP.NET 网站在域环境内配置授权访问
  10. FACE++学习二、获得face属性
  11. 学习ActiveMQ(六):JMS消息的确认与重发机制
  12. JAVA设计方法思考之如何实现一个方法执行完毕后自动执行下一个方法
  13. 指导手册05:MapReduce编程入门
  14. linux 配置vue环境
  15. Shell教程 之数组
  16. C# socket 发送图片和文件
  17. MTK 锁屏配置
  18. C/S架构和B/S架构
  19. C#.net 微信公众账号接口开发
  20. Java并发编程:线程池

热门文章

  1. UVA11991第k次出现的v的下标
  2. 深入浅出带你玩转sqlilabs(一)
  3. 使用TK框架中updateByPrimaryKey与updateByPrimaryKeySelective区别
  4. 老vue项目webpack3升级到webpack5全过程记录(一)
  5. [MySQL数据库之记录的详细操作:增、改、删、单表查询、多表查询]
  6. [网络编程之客户端/服务器架构,互联网通信协议,TCP协议]
  7. BugkuCTF——wp(旧版)
  8. [设计模式] 设计模式课程(十六)-- 备忘录模式(Memento)
  9. ipmitool -I lanplus -H 10.1.81.90 -U admin -P admin mc reset cold
  10. CentOS 7磁盘寻找不到,卡在sulogin,造成的开机失败问题--Error getting authority...