在Linux下用netstat查看网络状态、端口状态

在linux一般使用netstat 来查看系统端口使用情况步。

netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的

netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。

该命令的一般格式为:

netstat [选项]

命令中各选项的含义如下:

-a 显示所有socket,包括正在监听的。

-c 每隔1秒就重新显示一遍,直到用户中断它。

-i 显示所有网络接口的信息,格式同“ifconfig -e”。

-n 以网络IP地址代替名称,显示出网络连接情形。

-r 显示核心路由表,格式同“route -e”。

-t 显示TCP协议的连接情况。

-u 显示UDP协议的连接情况。

-v 显示正在进行的工作。

1. netstat -an | grep LISTEN

0.0.0.0的就是每个IP都有的服务,写明哪个IP的就是绑定那个IP的服务。

2. netstat -tln

用来查看linux的端口使用情况

3. /etc/init.d/vsftp start

是用来启动ftp端口~!

4. netstat

查看已经连接的服务端口(ESTABLISHED)

5. netstat -a

查看所有的服务端口(LISTEN,ESTABLISHED)

6. sudo netstat -ap

查看所有的服务端口并显示对应的服务程序名

7. nmap <扫描类型><扫描参数>

例如:

nmap localhost

nmap -p 1024-65535 localhost

nmap -PT 192.168.1.127-245

当我们使用 netstat -apn 查看网络连接的时候,会发现很多类似下面的内容:

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 52 218.104.81.152:7710 211.100.39.250:29488 ESTABLISHED 6111/1

显示这台服务器开放了7710端口,那么这个端口属于哪个程序呢?我们可以使用 lsof -i :7710 命令来查询:

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

sshd 1990 root 3u IPv4 4836 TCP *:7710 (LISTEN) 54com.cn

这样,我们就知道了7710端口是属于sshd程序的。

 

==============

Netstaty命令举例

请输入下面的命令:

# netstat -tulpn

或者是

# netstat -npl

请看输出结果::

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:6881 0.0.0.0:* LISTEN 6908/python

tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 5562/cupsd

tcp 0 0 127.0.0.1:3128 0.0.0.0:* LISTEN 6278/(squid)

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 5854/exim4

udp 0 0 0.0.0.0:32769 0.0.0.0:* 6278/(squid)

udp 0 0 0.0.0.0:3130 0.0.0.0:* 6278/(squid)

udp 0 0 0.0.0.0:68 0.0.0.0:* 4583/dhclient3

udp 0 0 0.0.0.0:6881 0.0.0.0:* 6908/python

请注意,最后一栏给出了关于程序名称和端口的信息。在这里,我们解释一下各参数的含义:

-t : 指明显示TCP端口

-u : 指明显示UDP端口

-l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)

-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。

-n : 不进行DNS轮询(可以加速操作)

关于/etc/services文件

/etc/services是一个纯ASCII文件,它可以提供互联网服务的友好文本名称,还有其默认分配的端口号和协议类型。每一个网络程序都要进入这个文件得其服务的端口号(和协议)。你可以借助于cat命令或less命令等来查看这个文件:

$ cat /etc/services

$ grep 110 /etc/services

$ less /etc/services

window使用方法如下:

netstat -an |find "8080"

相关推荐