渗透测试-Linux网络命令

ping

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

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

命令格式

ping ( 选项)目的地址

在这里插入图片描述

telnet

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

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

用法

(1)命令格式:

telnet (选项) (参数)

(2)实例
在这里插入图片描述
(3)参数

远程主机:指定要登录进行管理的远程主机
端口:指定TELNET协议使用的端口号

netstat

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

用法

命令格式

    netstat(选项)
    netstat -a     //列出所有端口
    netstat -at    //列出所有tcp端口
    netstat -au    //列出所有udp端口   

显示所有的TCP端口:
在这里插入图片描述

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

和上面的图相比,可以看到只显示出了监听状态的TCP端口 :
在这里插入图片描述

traceroute

traceroute命令用于追踪数据包在网络上传输时的全部路径,它默认发送的数据包大小是40字节。通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径

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

用法

(1)命令格式

    traceroute(选项)(参数)
    参数-主机:指定目的主机IP地址或主机名

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

nslookup

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

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

  [root@localhost Tools]# nslookup www.baidu.com 
  Server: 192.168.226.2 
  Address: 192.168.226.2#53 

  Non-authoritative answer: 
  www.baidu.com canonical name = www.a.shifen.com. 
  Name: www.a.shifen.com 
  Address: 115.239.211.112

tcpdump

抓包工具

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

linux中ftp服务需要下载专门的vsftpd工具包。在redhat系列linux中可以采用下列命令下载:
yum install vsftpd

然后还要开启ftp服务,在linux中命令如下:
service vsftpd start

然后在linux中输入命令:tcpdump -i eth0 -nnX port 21

再在windows的命令行中输入:ftp 192.168.198.100
在这里插入图片描述结果却出现连接超时的现象,正常应该连接ftp是要输入ftp账户及密码的,(这一问题学完linux服务管理后再来解决)
在这里插入图片描述

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

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支持、断点续传……

命令语法

  curl [options] [URL...]

用法演示

1、下载页面:

  curl -o index.html http://aiezu.com

2、下载文件并显示简单进度条:

   curl -# -o centos6.8.iso http://mirrors.aliyun.com/centos/6.8/isos/x86_64/CentOS-6.8-x86_64-minimal.iso

3、断点续传:

  //继续完成上次终止的未完成的下载
  curl -# -o centos6.8.iso -C - http://mirrors.aliyun.com/centos/6.8/isos/x86_64/CentOS-6.8-x86_64-minimal.iso

4、伪造来源页面:

  //告诉爱E族,我是从百度来的
  curl -e http://baidu.com http://aiezu.com

5、伪造代理设备:

//告诉爱E族,我是GOOGLE爬虫蜘蛛(其实我是curl命令)
curl -A " Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" http://aiezu.com
 
//告诉爱E族,我用的是微信内置浏览器
curl -A "Mozilla/5.0 AppleWebKit/600 Mobile MicroMessenger/6.0" http://aiezu.com

6、查看Http头:

//看看本站的http头是怎么样的
curl -I  http://aiezu.com

输出:

HTTP/1.1 200 OK
Date: Fri, 25 Nov 2016 16:45:49 GMT
Server: Apache
Set-Cookie: rox__Session=abdrt8vesprhnpc3f63p1df7j4; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding
Content-Type: text/html; charset=utf-8

猜你喜欢

转载自blog.csdn.net/weixin_39190897/article/details/86661529