liunx:网络命令

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

ping

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

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

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

liunx:网络命令

liunx:网络命令

liunx:网络命令

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

liunx:网络命令

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

liunx:网络命令

telnet

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

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

telnet使用23端口

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

liunx:网络命令

具体使用,不再演示!

netstat

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

用法:

netstat -a     //列出所有端口
netstat -at    //列出所有tcp端口
netstat -au    //列出所有udp端口      

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

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

liunx:网络命令

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报文,因为现实中网络环境比较复杂,可能会有丢包情况发生。

liunx:网络命令

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

nslookup

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

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

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

yum  provides  */nslookup

liunx:网络命令

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

2、安装

yum install -y bind-utils

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

liunx:网络命令

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

liunx:网络命令

3、开始监听

tcpdump -i eth0 -nnX port 21

4、客户端访问

ftp 服务器ip

liunx:网络命令

原因后面解决!

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头

liunx:网络命令

2、打印网站页面

liunx:网络命令

3、将网站页面保存

liunx:网络命令

参考

1、Web安全-Linux网络命令

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

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

4、Linux安装nslookup命令

上一篇:LIUNX安装JDK1.8(附带安装包)


下一篇:Liunx服务器宕机,5步找回 Mysql 的数据,并且迁移,超低成本(Windows 思路一样 )