如何使用nmap扫描端口,nmap如何扫描整个局域网

  

  在项目的日常运维过程中,经常会遇到各种奇怪的网络问题。那么排查网络问题就成了一个合格程序员的必备技能。下面是日常工作中快速定位网络问题的一些常用说明。   

  

  Ping是一个常用的小工具,用于检查两个服务器之间的数据包是否可以成功交换。Ping命令向另一台主机发送ICMP消息。当ping成功意味着两台主机之间的网络链路畅通时。如果ping失败,首先你需要确认对方是否关闭了ping服务。如果没有,则需要检查双方的网络链接问题。   

  

  Telnet指令主要用于检查网络与其他端口的连通性。如果telnet能通过,一般证明TCP三次握手已经建立成功,即网络层畅通。如果telnet不行,你需要确认对方是否启动了相应的服务端口。如果是这样,您应该检查双方的防火墙策略。   

  

  ifconfigifconfig命令不仅可以查看网卡信息,还可以修改网络配置。比如检查网卡信息ifconfig-a;启动网卡ifconfig eth 0 up;关闭网卡ifconfig eth0 down等操作。   

  

  除了使用ifconfig查看和配置网卡信息,还可以通过ip link show查看网卡信息,启动网卡信息ip link set down eth0关闭网卡ip链接设置eth1等操作。   

  

  注意:尽量不要在SSH链接的情况下操作开关机网卡。   

  

  路由指令通常用于查看和配置服务器路由信息。参见路由信息route -n或route -nee,添加或删除路由信息route { add | del }-net { network-address } net mask { net mask } dev { interface-name }等等。   

  

  同样,除了使用route指令,还可以使用ip route show查看路由信息;和route -n是等价的。这里更推荐ip route命令。   

  

  Traceroute此指令用于查看从源地址到目的地址的路由路径。例如,www.baidu.com跟踪路由用于确定在您和目标地址之间通过了哪些网络设备。windows下的Tracert。   

  

  Netstat是一个功能强大的指令,也是程序员日常使用比较普遍的指令。该命令可以显示服务器的网络状态,例如,服务器netstat -a的所有当前套接字链接;根据UDP/TCP端口netstat -apu/netstat -apt的用法;显示网络统计数据;检查端口8080的状态。   

  

  netstat的等价指令是ss指令。Ss -l列出了该机器的所有开放端口。Ss -t/u -a显示所有tcp/udp链接。查看一个链接属于哪个进程ss -tp。检查本地端口状态ss -t src ip:8080。这里更推荐Ss指令。   

  

  Tcdump网络抓包工具,在遇到奇怪的网络问题时,通过TCdump网络抓包,然后分析定位问题。根据源IP,tcpdump-I eth2 src 192.168.199.100只捕获经过eth 2的源地址为192 . 168 . 199 . 100的网络数据包。当然也可以指定端口捕获,比如tcpdump src端口8088。总之,这个命令非常强大,这里就不赘述了。有兴趣的可以自己了解一下。   

  

  Nmap是一种网络嗅探和扫描工具,网络安全合作伙伴对此会很熟悉。它通常用于检查另一台主机打开了哪些端口。比如检查对方主机打开了哪些端口nmap -PS 192.168.199.100,还可以检测到目标IP的操作系统nmap -O 192.168.199.100。简而言之,这个命令可以更多地用于网络安全,而较少用于程序员。有兴趣的可以深入研究一下。这个命令非常强大。   

  

  综上所述的小工具,对于一些问题的定位,两个不同的指令可以达到同样的效果。如ifconfig -a和IP链接显示;Route -n和ip路由显示;还有netstat和ss。这是因为ifconfig和netstat等命令来自net-tools工具包,而ip link和ss等命令来自iproute2工具包。Net-tools已经停止了开发,它也不是许多新操作系统的默认工具包。如果要使用,需要单独安装。Iproute2用于替代net-tools,默认安装了许多新版本的linux。此外,iproute2包中的许多指令在功能和性能上都比net-tools包中提供的指令更强大。在这里,我从网上找了一张图来说明两个工具包的指令对比。   

  

  图片来源网络   

相关文章