• liunx:网络命令


    现系统的学习一下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命令

    作者: Pam

    出处: https://www.cnblogs.com/pam-sh/>

    关于作者:网安在读

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(mir_soh@163.com)咨询.

  • 相关阅读:
    Jmeter之参数化
    JMETER之一般使用和断言(响应断言和JSON断言)
    JMETER之工具设置和可执行元件介绍
    fiddler 之简单并发、弱网设置
    fiddler之断点、篡改和伪造数据
    fiddler之手机端连接
    fiddler之工具介绍
    fiddler之图标描述
    原生js添加和删除类名
    抽象类和接口
  • 原文地址:https://www.cnblogs.com/pam-sh/p/14880665.html
Copyright © 2020-2023  润新知