文档库 最新最全的文档下载
当前位置:文档库 › Netstat命令详解

Netstat命令详解

Netstat命令详解
Netstat命令详解

Netstat命令详解

(netstat -na 命令),本文主要是说Linux下的netstat工具,然后详细说明一下各种网络连接状态。

netstat -nat |awk ‘{print $6}’|sort|uniq -c|sort –nr

https://www.wendangku.net/doc/ac5508503.html,stat命令详解

其实我常用的是netstat -tnl | grep 443 (查看443端口是否被占用),如果有当前是root 用户,我喜欢用netstat -pnl | grep 443 (还可显示出占用本机443端口的进程PID)。netstat

功能说明:显示网络状态。

语法:netstat [-acCeFghilMnNoprstuvVwx] [-A<网络类型>][--ip]

补充说明:利用netstat指令可让你得知整个Linux系统的网络情况。

参数:

-a 或–all 显示所有连线中的Socket。

-A <网络类型>或–<网络类型> 列出该网络类型连线中的相关地址。

-c 或–continuous 持续列出网络状态。

-C 或–cache 显示路由器配置的快取信息。

-e 或–extend 显示网络其他相关信息。

-F 或–fib 显示FIB。

-g 或–groups 显示多重广播功能群组组员名单。

-h 或–help 在线帮助。

-i 或–interfaces 显示网络界面信息表单。

-l 或–listening 显示监控中的服务器的Socket。

-M 或–masquerade 显示伪装的网络连线。

-n 或–numeric 直接使用IP地址,而不通过域名服务器。

-N 或–netlink或–symbolic 显示网络硬件外围设备的符号连接名称。

-o 或–timers 显示计时器。

-p 或–programs 显示正在使用Socket的程序识别码和程序名称。

-r 或–route 显示Routing Table。

-s 或–statistice 显示网络工作信息统计表。

-t 或–tcp 显示TCP 传输协议的连线状况。

-u或–udp 显示UDP传输协议的连线状况。

-v或–verbose 显示指令执行过程。

-V 或–version 显示版本信息。

-w或–raw 显示RAW传输协议的连线状况。

-x或–unix 此参数的效果和指定”-A unix”参数相同。

–ip或–inet 此参数的效果和指定”-A inet”参数相同。

2.网络连接状态详解

共有12中可能的状态,前面11种是按照TCP连接建立的三次握手和TCP连接断开的四次挥手过程来描述的。

1)、LISTEN:首先服务端需要打开一个socket进行监听,状态为LISTEN./* The socket is listening for incoming connections. 侦听来自远方TCP端口的连接请求*/

2)、SYN_SENT:客户端通过应用程序调用connect进行active open.于是客户端tcp发送一个SYN以请求建立一个连接.之后状态置为SYN_SENT./*The socket is actively attempting to establish a connection. 在发送连接请求后等待匹配的连接请求*/

3)、SYN_RECV:服务端应发出ACK确认客户端的SYN,同时自己向客户端发送一个SYN. 之后状态置为SYN_RECV/* A connection request has been received from the network. 在收到和发送一个连接请求后等待对连接请求的确认*/

4)、ESTABLISHED: 代表一个打开的连接,双方可以进行或已经在数据交互了。/* The socket has an established connection. 代表一个打开的连接,数据可以传送给用户*/

5)、FIN_WAIT1:主动关闭(active close)端应用程序调用close,于是其TCP发出FIN请求主动关闭连接,之后进入FIN_WAIT1状态./* The socket is closed, and the connection is shutting down. 等待远程TCP的连接中断请求,或先前的连接中断请求的确认*/

6)、CLOSE_WAIT:被动关闭(passive close)端TCP接到FIN后,就发出ACK以回应FIN请求(它的接收也作为文件结束符传递给上层应用程序),并进入CLOSE_WAIT./* The remote end has shut down, waiting for the socket to close. 等待从本地用户发来的连接中断请求*/

7)、FIN_WAIT2:主动关闭端接到ACK后,就进入了FIN-WAIT-2 ./* Connection is closed, and the socket is waiting for a shutdown from the remote end. 从远程TCP等待连接中断请求*/

8)、LAST_ACK:被动关闭端一段时间后,接收到文件结束符的应用程序将调用CLOSE关闭连接。这导致它的TCP也发送一个FIN,等待对方的ACK.就进入了LAST-ACK ./* The remote end has shut down, and the socket is closed. Waiting for acknowledgement. 等待原来发向远程TCP 的连接中断请求的确认*/

9)、TIME_WAIT:在主动关闭端接收到FIN后,TCP 就发送ACK包,并进入TIME-WAIT状态。/* The socket is waiting after close to handle packets still in the network.等待足够的时间以确保远程TCP接收到连接中断请求的确认*/

10)、CLOSING: 比较少见./* Both so ckets are shut down but we still don’t have all our data sent. 等待远程TCP对连接中断的确认*/

11)、CLOSED: 被动关闭端在接受到ACK包后,就进入了closed的状态。连接结束./* The socket is not being used. 没有任何连接状态*/

12)、UNKNOWN: 未知的Socket状态。/* The state of the socket is unknown. */

SYN: (同步序列编号,Synchronize Sequence Numbers)该标志仅在三次握手建立TCP连接时有效。表示一个新的TCP连接请求。

ACK: (确认编号,Acknowledgement Number)是对TCP请求的确认标志,同时提示对端系统已经成功接收所有数据。

FIN: (结束标志,FINish)用来结束一个TCP回话.但对应端口仍处于开放状态,准备接收后续数据。

PS:在windows下有个小工具挺好的,TCPView is a Windows program that will show you detailed listings of all TCP and UDP endpoints on your system, including the local and remote addresses and state of TCP connections.见https://www.wendangku.net/doc/ac5508503.html,/en-us/sysinternals/bb897437 ;当然如果要详细分析数据包,可选用sniffer、Wireshark等更强大的工具。

系统连接状态篇:

1.查看TCP连接状态

netstat -nat |awk ‘,print $6-’|sort|uniq -c|sort -rn

netstat -n | awk ‘/^tcp/ ,++S*$NF+-;END ,for(a in S) print a, S*a+-’ 或

netstat -n | awk ‘/^tcp/ ,++state*$NF+-; END ,for(key in state) print key,”\t”,state*key+-’

netstat -n | awk ‘/^tcp/ ,++arr*$NF+-;END ,for(k in arr) print k,”\t”,arr*k+-’

netstat -n |awk ‘/^tcp/ ,print $NF-’|sort|uniq -c|sort -rn

netstat -ant | awk ‘,print $NF-’ | grep -v ‘*a-z+‘ | sort | uniq -c

2.查找请求数请20个IP(常用于查找攻来源):

netstat -anlp|grep 80|grep tcp|awk ‘,print $5-’|awk -F: ‘,print $1-’|sort|uniq -c|sort -nr|head -n20

netstat -ant |awk ‘/:80/,split($5,ip,”:”);++A*ip*1++-END,for(i in A) print A*i+,i-’ |sort -rn|head -n20

3.用tcpdump嗅探80端口的访问看看谁最高

tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F”.” ‘,print $1″.”$2″.”$3″.”$4-’ | sort | uniq -c | sort -nr |head -20

4.查找较多time_wait连接

netstat -n|grep TIME_WAIT|awk ‘,print $5-’|sort|uniq -c|sort -rn|head -n20

5.找查较多的SYN连接

netstat -an | grep SYN | awk ‘,print $5-’ | awk -F: ‘,print $1-’ | sort | uniq -c | sort -nr | more

6.根据端口列进程

netstat -ntlp | grep 80 | awk ‘,print $7-’ | cut -d/ -f1

网站日志分析篇1(Apache):

1.获得访问前10位的ip地址

cat access.log|awk ‘,print $1-’|sort|uniq -c|sort -nr|head -10

cat access.log|awk ‘,counts*$(11)++=1-; END ,for(url in counts) print counts*url+, url-’

2.访问次数最多的文件或页面,取前20

cat access.log|awk ‘,print $11-’|sort|uniq -c|sort -nr|head -20

3.列出传输最大的几个exe文件(分析下载站的时候常用)

cat access.log |awk ‘($7~/\.exe/),print $10 ” ” $1 ” ” $4 ” ” $7-’|sort -nr|head -20

4.列出输出大于200000byte(约200kb)的exe文件以及对应文件发生次数

cat access.log |awk ‘($10 > 200000 && $7~/\.exe/),print $7-’|sort -n|uniq -c|sort -nr|head -100

5.如果日志最后一列记录的是页面文件传输时间,则有列出到客户端最耗时的页面

cat access.log |awk ‘($7~/\.php/),print $NF ” ” $1 ” ” $4 ” ” $7-’|sort -nr|head -100

6.列出最最耗时的页面(超过60秒的)的以及对应页面发生次数

cat access.log |awk ‘($NF > 60 && $7~/\.php/),print $7-’|sort -n|uniq -c|sort -nr|head -100

7.列出传输时间超过30 秒的文件

cat access.log |awk ‘($NF > 30),print $7-’|sort -n|uniq -c|sort -nr|head -20

8.统计网站流量(G)

cat access.log |awk ‘,sum+=$10- END ,print sum/1024/1024/1024-’

9.统计404的连接

awk ‘($9 ~/404/)’ access.log | awk ‘,print $9,$7-’ | sort

10. 统计http status.

cat access.log |awk ‘,counts*$(9)++=1-; END ,for(code in counts) print code, counts*code+-'

cat access.log |awk '{print $9}'|sort|uniq -c|sort -rn

10.蜘蛛分析

查看是哪些蜘蛛在抓取内容。

/usr/sbin/tcpdump -i eth0 -l -s 0 -w - dst port 80 | strings | grep -i user-agent | grep -i -E 'bot|crawler|slurp|spider'

网站日分析2(Squid篇)

2.按域统计流量

zcat squid_access.log.tar.gz| awk '{print $10,$7}' |awk 'BEGIN{FS="[ /]"}{trfc[$4]+=$1}END{for(domain in trfc){printf "%s\t%d\n",domain,trfc[domain]}}'

效率更高的perl版本请到此下载:https://www.wendangku.net/doc/ac5508503.html,/soft/tools/tr.pl

数据库篇

1.查看数据库执行的sql

/usr/sbin/tcpdump -i eth0 -s 0 -l -w - dst port 3306 | strings | egrep -i 'SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER|CALL'

系统Debug分析篇

1.调试命令

strace -p pid

2.跟踪指定进程的PID

gdb -p pid

netstat命令

netstat命令详解 Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用Netstat查一查为什么会出现这些情况了。 Netstat 详细参数列表 (Winxp) C:\>netstat /? 显示协议统计信息和当前 TCP/IP 网络连接。 NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval] -a 显示所有连接和监听端口。 -b 显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件 拥有多个独立组件,并且在这些情况下包含于创建连接或监听端口的组件序列被显示。 这种情况下,可执行组件名在底部的 [] 中,顶部是其调用的组件,等等,直到 TCP/IP

部分。注意此选项可能需要很长时间,如果没有足够权限可能失败。-e 显示以太网统计信息。此选项可以与 -s 选项组合使用。 -n 以数字形式显示地址和端口号。 -o 显示与每个连接相关的所属进程 ID。 -p proto 显示 proto 指定的协议的连接;proto 可以是 下列协议之一: TCP、UDP、TCPv6 或 UDPv6。 如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议之一: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。 -r 显示路由表。 -s 显示按协议统计信息。默认地,显示 IP、 IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息; -p 选项用于指定默认情况的子集。 -v 与 -b 选项一起使用时将显示包含于 为所有可执行组件创建连接或监听端口的 组件。 interval 重新显示选定统计信息,每次显示之间 暂停时间间隔(以秒计)。按 CTRL+C 停止重新 显示统计信息。如果省略,netstat 显示当前 配置信息(只显示一次) (Win2000)

(完整版)Netstat命令详解

Netstat命令详解 Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用Netstat查一查为什么会出现这些情况了。 Netstat 详细参数列表 (winXP) C:\>netstat /? 显示协议统计信息和当前TCP/IP 网络连接。NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval] -a 显示所有连接和监听端口。 -b 显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件拥有多个独立组件,并且在这些情况下包含于创建连接或监听端口的组件序列被显示。这种情况下,可执行组件名在底部的[] 中,顶部是其调用的组 件,等等,直到TCP/IP部分。注意此选项

可能需要很长时间,如果没有足够权限可能失败。 -e 显示以太网统计信息。此选项可以与-s选项组合使用。 -n 以数字形式显示地址和端口号。 -o 显示与每个连接相关的所属进程ID。 -p proto 显示proto 指定的协议的连接;proto 可以是下列协议之一: TCP、UDP、TCPv6 或UDPv6。如果与-s 选项一起使用以显示按协议统计信息,proto 可以是下列协议之一:IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 ()UDPv6。 -r 显示路由表。 -s 显示按协议统计信息。默认地,显示IP、 IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和UDPv6 的统计信息; -p 选项用于指定默认情况的子集。 -v 与-b 选项一起使用时将显示包含于 为所有可执行组件创建连接或监听端口的 组件。 interval 重新显示选定统计信息,每次显示之间 暂停时间间隔(以秒计)。按CTRL+C 停止

aix netstat命令参数

netstat命令用来查看网络通讯状态,通常用于故障处理而非性能监控,但也可以通过网络传输流量检查系统是否存在由于网络拥塞而造成的性能问题。 netstat命令可以显示每个网络接口的下述信息: 与socket关联的协议控制块地址以及所有socket状态; 网络通讯过程中接收、发送以及丢弃的数据包数量; 网络接口的指标; 路由及其状态。 netstat -in # netstat -in Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll en0 1500 link#2 0.6.29.21.f1.9f 191014 0 13620 0 0 en0 1500 10.8 10.8.0.60 191014 0 13620 0 0 lo0 16896 link#1 676 0 677 0 0 lo0 16896 127 127.0.0.1 676 0 677 0 0 lo0 16896 ::1 676 0 677 0 0 Name——接口名称; Mtu——最大传输单元,通过此接口传送的最大网络数据包大小,以字节为单位;Ipkts——接收到的数据包个数; Ierrs——数据包输入期间发生的错误数量,包括格式错误、校验错误、设备驱动中的缓存空间不足等; Opkts——发送的数据包个数; Oerrs——数据包输出期间发生的错误数量,包括本地主机连接错误或者网络适配器输出队列溢出等; Coll——检测到的冲突数据包数量。 如果数据包输入期间发生的错误数量超过总输入数据包数量的1%,即Ierrs > 0.01 * Ipkts,使用netstat -m命令检查内存不足情况; 如果数据包输出期间发生的错误数量超过总输出数据包数量的1%,即Oerrs > 0.0.1 * Opkts,增大对应网络接口的输出队列长度(xmt_que_size)。可以通过lsattr -El adapter查看adapter 的属性值; 如果冲突率超过10%,即Coll / Opkts > 0.1,表明网络使用过度,有必要对网络进行重新规划或分区。使用netstat -v或entstat命令进一步确定冲突率。 netstat -i -Z 将netstat -i中所有指标的值置为零。 netstat -I Interface Interval 显示给定网络接口一定采样频率下的统计信息。 # netstat -I ent0 5 input (en0) output input (Total) output packets errs packets errs colls packets errs packets errs colls 189497 0 13545 0 0 190173 0 14222 0 0 6 0 1 0 0 6 0 1 0 0 2 0 1 0 0 2 0 1 0 0 8 0 1 0 0 8 0 1 0 0

netstat 的10个基本用法

Netstat 简介 Netstat 是一款命令行工具,可用于列出系统上所有的网络套接字连接情况,包括tcp, udp 以及unix 套接字,另外它还能列出处于监听状态(即等待接入请求)的套接字。如果你想确认系统上的Web 服务有没有起来,你可以查看80端口有没有打开。以上功能使netstat 成为网管和系统管理员的必备利器。在这篇教程中,我会列出几个例子,教大家如何使用netstat 去查找网络连接信息和系统开启的端口号。 以下的简单介绍来自netstat 的man 手册: netstat - 打印网络连接、路由表、连接的数据统计、伪装连接以及广播域成员。 1. 列出所有连接 第一个要介绍的,是最简单的命令:列出所有当前的连接。使用-a 选项即可。 $ netstat -a Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 enlightened:domain *:* LISTEN tcp 0 0 localhost:ipp *:* LISTEN tcp 0 0 enlightened.local:54750 li240-5.members.li:http ESTABLISHED

tcp 0 0 enlightened.local:49980 del01s07-in-f14.1:https ESTABLISHED tcp6 0 0 ip6-localhost:ipp [::]:* LISTEN udp 0 0 enlightened:domain *:* udp 0 0 *:bootpc *:* udp 0 0 enlightened.local:ntp *:* udp 0 0 localhost:ntp *:* udp 0 0 *:ntp *:* udp 0 0 *:58570 *:* udp 0 0 *:mdns *:* udp 0 0 *:49459 *:* udp6 0 0 fe80::216:36ff:fef8:ntp [::]:* udp6 0 0 ip6-localhost:ntp [::]:* udp6 0 0 [::]:ntp [::]:* udp6 0 0 [::]:mdns [::]:* udp6 0 0 [::]:63811 [::]:* udp6 0 0 [::]:54952 [::]:* Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix 2 [ ACC ] STREAM LISTENING 12403 @/tmp/dbus-IDgfj3UGXX unix 2 [ ACC ] STREAM LISTENING 40202 @/dbus-vfs-daemon/socket-6nUC6CCx 上述命令列出tcp, udp 和unix 协议下所有套接字的所有连接。然而这些信息还不够详

网络排错命令思路及排错工具使用(ping Tracert Pathping netstat命令详解)

一、网络排错的思路 在网络故障的解决中,我们的宗旨是以最快速度解决使用人问题为前提,可能这个解决使用人问题并非解决网络上的问题,可能是给使用人临时更换电脑使用或其他的方面的操作来最快的解决问题。 专门针对网络故障的排错问题,我总结的有以下的一些好的习惯和方法同大家分享下,主要包括以下几点。 1、思考问题要全面 思考问题不局限,保持开放的头脑,不仅从网络方面思考问题,还需要考虑硬件、软件等多方面的问题 主要的意思是在碰到网络不能使用,上不去网等的故障报修后,我们不要仅仅从网络方面去考虑故障的原因,因为电脑上不去网,有可能是电脑防火墙的设置问题、网络设置的问题、网卡或网线的问题等等多方面的问题。 2、善于使用工具 要善于使用非网络工具判断故障,要善于使用白纸或白板,将所涉及到的网络拓扑展现出来,并将自己所收集到的故障现象都罗列出来,这样便于自己判断故障 点的位置,从而快速的判断问题。 3、网络故障判断的一般步骤。 A、首先检查硬件 开始排除故障的第一步是详细分析故障症状,决定它主要是由软件故障还是由硬件故障造成的。 B、检查网线及网线与机器的连接。 运行硬件测试分析工具,察看它们是否存在细微错误。 如果可以的话,重新启动服务器,路由器或硬件设备。这一方法排除了无数故障,从键盘锁定引发的故障到路由故障。 在另一台机器或另一个测试网络上重现问题从而排除故障。 C、排除软件故障(操作系统的故障) 如果所有硬件都工作正常,那就应该开始研究软件故障了。 主机上的故障 如果机器上某个网络应用锁上了或者出故障了,那你必须确定是什么原因导致了这个故障。如果此应用你最近升级过(或者该应用在你升级过的操作系统上),则你可能不得不到应用开发商网站去查找是否有相应补丁。

netstat参数说明

Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用Netstat查一查为什么会出现这些情况了。 Netstat 详细参数列表 (Winxp) C:\>netstat /? 显示协议统计信息和当前 TCP/IP 网络连接。 NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval] -a 显示所有连接和监听端口。 -b 显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件 拥有多个独立组件,并且在这些情况下包含于创建连接或监听端口的组件序列被显示。 这种情况下,可执行组件名在底部的 [] 中,顶部是其调用的组件,等等,直到 TCP/IP 部分。注意此选项可能需要很长时间,如果没有足够权限可能失败。 -e 显示以太网统计信息。此选项可以与 -s 选项组合使用。 -n 以数字形式显示地址和端口号。 -o 显示与每个连接相关的所属进程 ID。 -p proto 显示 proto 指定的协议的连接;proto 可以是 下列协议之一: TCP、UDP、TCPv6 或 UDPv6。 如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议之一: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。 -r 显示路由表。 -s 显示按协议统计信息。默认地,显示 IP、 IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息; -p 选项用于指定默认情况的子集。 -v 与 -b 选项一起使用时将显示包含于 为所有可执行组件创建连接或监听端口的 组件。

netstat命令以及用两种不同的方法关闭端口

网络攻击与防范 班级:软件2班 学号:130624040 姓名:刘亚杰 指导老师:刘子天 实验报告

实验人:刘亚杰 实验地点:J-C-205 实验时间:2015年4月8号 实验目的:练习netstat命令以及用两种不同的方法关闭端口。 实验一:Netstat –an: 实验报告分析结果的各项含义。 重点分析解释:状态 SYN Listening Established 实验内容:在没有打开网页之前所有的外部访问地址和本地地址以及它们的状态 图1

图1 中标示的是IP地址为127.0.0.1端口为51299的端口访问了自己的17901端口,状态为TIME-WAIT:等待足够的时间以确保远程TCP 接收到连接中断请求的确认。 图2 图2 中的listening状态代表正在处于监听状态中。

图3 图3 是我自己访问了我的8000端口 图4

图4 中最后一行显示出我的IP地址是192.168.32.63,我的端口3658端口访问了8000端口,established状态是代表已经连接成功。 图5 图5中是我的搭档访问了我的8000端口。 图6 图6 中最后一行显示IP为192.168.32.62端口是2878的访问了我的8000端口,established代表已经成功进行了连接。

图7 图7中被标记行是IP为221.212.109.159端口为1301的访问了我的1197端口,状态SYN-SENT是再发送连接请求后等待匹配的连接请求。 实验二:完成IIS web 服务(World Wide Web Publishing – 80端口)的关闭 法一:关闭相应服务 使用windows的服务管理工具。 法二:关闭端口号 使用本地安全策略-IP安全策略。 实验内容:方法一:关闭相应服务器阻止访问端口

用netstat查IP地址

netstat -n 你将看到: Active Connections Proto Local Address Foreign Address State TCP 202.109.34.78:1200 202.121.139.35:61555 ESTABLISHED TCP 202.109.34.78:2694 202.109.72.40:6667 ESTABLISHED TCP 202.109.34.78:4869 211.202.1.227:23 ESTABLISHED 好家伙,这么多IP!哪个才是我们要找的呢?别着急,往后看。我们现在退出“二人世界”,然后在DOS下再输入一次: netstat -n 你将看到: Active Connections Proto Local Address Foreign Address State TCP 202.109.34.78:1200 202.121.139.35:61555 TIME_W AIT TCP 202.109.34.78:2694 202.109.72.40:6667 ESTABLISHED TCP 202.109.34.78:4869 211.202.1.227:23 ESTABLISHED 看出前后两次的区别了吗?没有看出来?仔细着看,你会发现: 原来:TCP 202.109.34.78:1200 202.121.139.35:61555 ESTABLISHED 现在:TCP 202.109.34.78:1200 202.121.139.35:61555 TIME_WAIT 好了,现在你该知道了吧?对!和你聊天的人的IP就是:202.101.139.35!那你是怎么知道的呢?朋友,请看我们在“二人世界”时要传送消息,相互之间必然要产生连接(通过UDP协议),此时自然是“ESTABLISHED”了(以你用netstat -n命令的结果来说);而退出“二人世界”连接就断开了,自然就是“TIME_WAIT”了。 很简单吧?用这种方法一个外来软件也没有用(netstat是Windows自带外部命令),是不是向我们前面所说的那样即简单又方便,还很环保?还不快试试

netstat查询监听端口

一、Windows netstat 查看端口、进程占用 目标:在Windows环境下,用netstat命令查看某个端口号是否占用,为哪个进程所占用. 操作:操作分为两步:(1)查看该端口被那个PID所占用;方法一:有针对性的查看端口,使用命令Netstat –ano|findstr “<端口号>”,如图,最后一列为PID。图中的端口号为1068,所对应的PID为3840。 方法二:查看所有的,然后找到对应的端口和PID。 第一幅图中的5列就是上面(a)图对应的5列 (2)查看该PID对应的进程名称。 方法一:一直用命令查找,tasklist|findstr “” 从 (c)图可以看出,PID为3840所对应的进程名字为msnmsgr.exe。 方法二:用任务管理器查看。 调出任务管理器,选择列,如d图。

查看PID对应的进程名称。如(e)图中的msnmsgr.exe

附录:在命令行中输入netstat /? 可以查看netstat的相关信息。 C:\Documents and Settings\Administrator>netstat /? 显示协议统计信息和当前 TCP/IP 网络连接。 NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-t] [-v] [interval] -a 显示所有连接和监听端口。 -b 显示包含于创建每个连接或监听端口的 可执行组件。在某些情况下已知可执行组件 拥有多个独立组件,并且在这些情况下 包含于创建连接或监听端口的组件序列 被显示。这种情况下,可执行组件名 在底部的 [] 中,顶部是其调用的组件, 等等,直到 TCP/IP 部分。注意此选项 可能需要很长时间,如果没有足够权限 可能失败。 -e 显示以太网统计信息。此选项可以与 -s 选项组合使用。 -n 以数字形式显示地址和端口号。 -o 显示与每个连接相关的所属进程 ID。 -p proto 显示 proto 指定的协议的连接;proto 可以是 下列协议之一: TCP、UDP、TCPv6 或 UDPv6。 如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议之一: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。 -r 显示路由表。 -s 显示按协议统计信息。默认地,显示 IP、 IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息; -p 选项用于指定默认情况的子集。 -t 显示当前连接卸载状态。 -v 与 -b 选项一起使用时将显示包含于 为所有可执行组件创建连接或监听端口的 组件。 interval 重新显示选定统计信息,每次显示之间

netstat命令查看本机开放端口

netstat命令查看本机开放端口 2007-08-11 11:18 netstat命令查看本机开放端口: 用netstat -a —n命令查看端口!netstat后有一些英文,我来简单说一下这些英文具体都代表什么 LISTEN:侦听来自远方的TCp端口的连接请求 SYN-SENT:再发送连接请求后等待匹配的连接请求 SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认 ESTAbLISHED:代表一个打开的连接 FIN-WAIT-1:等待远程TCp连接中断请求,或先前的连接中断请求的确认 FIN-WAIT-2:从远程TCp等待连接中断请求 CLOSE-WAIT:等待从本地用户发来的连接中断请求 CLOSING:等待远程TCp对连接中断的确认 LAST-ACK:等待原来的发向远程TCp的连接中断请求的确认 TIME-WAIT:等待足够的时间以确保远程TCp接收到连接中断请求的确认 CLOSED:没有任何连接状态 查看开放端口,判断木马的方法 当前最为常见的木马通常是基于TCP/UDP协议进行client端与server端之间的通讯的,既然利用到这两个协议,就不可避免要在server端(就是被种了木马的机器了)打开监听端口来等待连接。例如鼎鼎大名的冰河使用的监听端口是7626,Back Orifice 2000则是使用54320等等。那么,我们可以利用查看本机开放端口的方法来检查自己是否被种了木马或其它黑客程序。以下是详细方法介绍。 1. Windows本身自带的netstat命令 关于netstat命令,我们先来看看windows帮助文件中的介绍: Netstat 显示协议统计和当前的 TCP/IP 网络连接。该命令只有在安装了 TCP/IP

linuxnetstat命令查看端口是不是占用

linux 与windows netstat命令查看端口是否占用 netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息,这里我只用到其中的部分功能. netstat 的常用参数: - t、- u、- w和- x分别表示TCP、UDP、RAW和UNIX套接字连接。-a标记,还会显示出等待连接(也就是说处于监听模式)的套接字。-l 显示正在被监听(list en)的端口, -n表示直接显示端口数字而不是通过察看/etc/service来转换为端口名,-p选项表示列出监听的程序 1) netstat -tl 查看当前tcp监听端口 Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:rrac *:* LISTEN tcp 0 0 *:34006 *:* LISTEN ...... 2) netstat -tlp 查看当前tcp监听端口, 需要显示监听的程序名,当不清楚mysql的监听端口时比较好用Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Prog ram name tcp 0 0 *:rrac *:* LISTEN - tcp 0 0 *:34006 *:* LISTEN 23425/mysqld ...... 3) netstat -tl | grep 34006 只查看mysql的监听端口,当前启动的mysql端口为34006,明确知道mysql监听端口时使用 4) netstat -ta | grep 34006 tcp 0 0 *:34006 *:* LISTEN tcp 0 0 linux.local:34006 linux.local:41485 ESTABLISHED tcp 0 0 linux.local:34006 linux.local:41486 ESTABLISHED ... tcp 0 0 10.3.2.35:41488 10.3.2.35:34006 ESTABLISHED tcp 0 0 10.3.2.35:41489 10.3.2.35:34006 ESTABLISHED

netstat命令-我的总结(很全)

提示 1、netstat用于显示本地的tcp和udp连接,在需要的时候,他应该和其它的dos命令联合使用,比如域名解析与反解 析命令nslookup Netstat介绍正文 C:\Users\wangbin.BTPDI>netstat /? 显示协议统计和当前TCP/IP 网络连接。 NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval] -a 显示所有连接和侦听端口。//常用 -b 显示在创建每个连接或侦听端口时涉及的可执行程序。//常用 在某些情况下,已知可执行程序承载多个独立的 组件,这些情况下,显示创建连接或侦听端口时涉 及的组件序列。此情况下,可执行程序的名称 位于底部[]中,它调用的组件位于顶部,直至达 到TCP/IP。注意,此选项可能很耗时,并且在您没有 足够权限时可能失败。 -e 显示以太网统计。此选项可以与-s 选项结合使用。//常用 -f 显示外部地址的完全限定域名(FQDN)。//没用 -n 以数字形式显示地址和端口号。//常用 -o 显示拥有的与每个连接关联的进程ID。//没用 -p proto 显示proto 指定的协议的连接;proto 可以是下列任 何一个: TCP、UDP、TCPv6 或UDPv6。 如果与-s 选项一起用来显示每个协议的统计,proto 可以是下列任 何一个: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或UDPv6。 -r 显示路由表。//常用 -s 显示每个协议的统计。默认情况下,显示//有用 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和UDPv6 的统计;-p 选项可用于指定默认的子网。 -t 显示当前连接卸载状态。//没用

netstat 输出TCP连接状态详解

netstat 输出TCP连接状态详解 原文:https://www.wendangku.net/doc/ac5508503.html,/space.php?uid=1&do=blog&id=47 //windows下,执行netstat的结果如下,state即为TCP状态。(qiucb补充)C:\Documents and Settings\Administrator>netstat -na -p tcp Active Connections Proto Local Address Foreign Address State TCP 127.0.0.1:110 0.0.0.0:0 LISTENING TCP 127.0.0.1:1025 0.0.0.0:0 LISTENING TCP 192.168.71.75:139 0.0.0.0:0 LISTENING TCP 192.168.71.75:2342 218.66.13.146:8000 ESTABLISHED TCP 192.168.71.75:3624 218.6.23.40:80 CLOSE_WAIT TCP 192.168.71.75:3628 192.168.3.32:10032 ESTABLISHED TCP 192.168.71.75:3637 123.187.107.99:8090 ESTABLISHED TCP 192.168.71.75:3638 113.71.1.216:8090 ESTABLISHED TCP 192.168.71.75:3639 110.184.238.21:8090 ESTABLISHED TCP 192.168.71.75:3640 125.119.44.147:8090 ESTABLISHED TCP 192.168.71.75:3642 192.168.71.136:139 TIME_WAIT TCP 192.168.71.75:3643 192.168.71.136:139 TIME_WAIT tcp状态: LISTEN:侦听来自远方的TCP端口的连接请求 SYN-SENT:再发送连接请求后等待匹配的连接请求 SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认ESTABLISHED:代表一个打开的连接 FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认 FIN-WAIT-2:从远程TCP等待连接中断请求 CLOSE-WAIT:等待从本地用户发来的连接中断请求 CLOSING:等待远程TCP对连接中断的确认 LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认 TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认CLOSED:没有任何连接状态

netstat命令的功能

netstat命令的功能是显示网络连接、路由表和网络接口信息,能让用户得知目前都有哪些网络连接正在运作。 该命令的一般格式为: netstat [选项] 命令中各选项的含义如下: -a 显示所有socket,包括正在监听的。 -c 每隔1秒就重新显示一遍,直到用户中断他。 -i 显示所有网络接口的信息,格式同“ifconfig -e”。 -n 以网络IP地址代替名称,显示出网络连接情形。 -r 显示核心路由表,格式同“route -e”。 -t 显示TCP协议的连接情况。 -u 显示UDP协议的连接情况。 -v 显示正在进行的工作。 netstat命令是个监视TCP/IP网络的非常有用的工具,他能显示路由表、实际的网络连接及每一个网络接口设备的状态信息,在我的上执行netstat后,其输出结果为: Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 2 210.34.6.89:telnet 210.34.6.96:2873 ESTABLISHED tcp 296 0 210.34.6.89:1165 210.34.6.84:netbios-ssn ESTABLISHED tcp 0 0 localhost.localdom:9001 localhost.localdom:1162 ESTABLISHED tcp 0 0 localhost.localdom:1162 localhost.localdom:9001 ESTABLISHED tcp 0 80 210.34.6.89:1161 210.34.6.10:netbios-ssn CLOSE Active UNIX domain sockets (w/o servers) Proto RefCnt Flags Type State I-Node Path unix 1 [ ] STREAM CONNECTED 16178 @000000dd unix 1 [ ] STREAM CONNECTED 16176 @000000dc unix 9 [ ] DGRAM 5292 /dev/log unix 1 [ ] STREAM CONNECTED 16182 @000000df 从 整体上看,netstat的输出结果能分为两个部分,一个是Active Internet connections,称为有源TCP连接,另一个是Active UNIX domain sockets,称为有源Unix域套接口。在上面的输出结果中,第一部分有5个输出结果,显示有源TCP连接的情况,而第二部分的输出结果显示的是 Unix域套接口的连接情况。Proto显示连接使用的协议;RefCnt表示连接到本套接口上的进程号;Types 显示套接口的类型;State显示套 接口当前的状态;Path表示连接到套接口的其他进程使用的路径名。 事实上,netstat是若干个工具的汇总。 ◆显示路由表 在随- r标记一起调用n e t s t a t时,将显示内核路由表,就像我们利用r o u t e命令相同。产生的输出如下: [root@machine1 /]$ netstat -nr Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 210.34.6.0 0.0.0.0 255.255.255.128 U 0 0 0 eth0

windows下用cmd命令netstat查看系统端口使用情况

开始--运行--cmd 进入命令提示符输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列" 经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用 假如我们需要确定谁占用了我们的9050端口 1、Windows平台 在windows命令行窗口下执行: 1.查看所有的端口占用情况 C:\>netstat -ano 协议本地地址外部地址状态PID TCP 127.0.0.1:1434 0.0.0.0:0 LISTENING 3236 TCP 127.0.0.1:5679 0.0.0.0:0 LISTENING 4168 TCP 127.0.0.1:7438 0.0.0.0:0 LISTENING 4168 TCP 127.0.0.1:8015 0.0.0.0:0 LISTENING 1456 TCP 192.168.3.230:139 0.0.0.0:0 LISTENING 4 TCP 192.168.3.230:1957 220.181.31.225:443 ESTABLISHED 3068 TCP 192.168.3.230:2020 183.62.96.189:1522 ESTABLISHED 1456 TCP 192.168.3.230:2927 117.79.91.18:80 ESTABLISHED 4732 TCP 192.168.3.230:2929 117.79.91.18:80 ESTABLISHED 4732 TCP 192.168.3.230:2930 117.79.91.18:80 ESTABLISHED 4732 TCP 192.168.3.230:2931 117.79.91.18:80 ESTABLISHED 4732 2.查看指定端口的占用情况 C:\>netstat -aon|findstr "9050" 协议本地地址外部地址状态PID TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016 P: 看到了吗,端口被进程号为2016的进程占用,继续执行下面命令:(也可以去任务管理器中查看pid对应的进程) 3.查看PID对应的进程 C:\>tasklist|findstr "2016" 映像名称PID 会话名会话# 内存使用 ========================= ======== ================ tor.exe 2016 Console 0 16,064 K P:很清楚吧,tor占用了你的端口。 4.结束该进程 C:\>taskkill /f /t /im tor.exe

Netstat命令

Netstat命令详解一 Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 如果你的计算机有时候接受到的数据报会导致出错数据删除或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用Netstat查一查为什么会出现这些情况了。Netstat是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。 笔者用的windows2003系统,在命令提示符下:直接输入netstat之后: Active Connections Proto Local Address Foreign Address State TCP PC3:1393 https://www.wendangku.net/doc/ac5508503.html,:1110 CLOSE_WAIT TCP PC3:1417 https://www.wendangku.net/doc/ac5508503.html,:1110 CLOSE_WAIT TCP PC3:1418 https://www.wendangku.net/doc/ac5508503.html,:1110 CLOSE_WAIT TCP PC3:1419 https://www.wendangku.net/doc/ac5508503.html,:1110 CLOSE_WAIT TCP PC3:1424 https://www.wendangku.net/doc/ac5508503.html,:1110 CLOSE_WAIT TCP PC3:1425 https://www.wendangku.net/doc/ac5508503.html,:1110 CLOSE_WAIT TCP PC3:1426 https://www.wendangku.net/doc/ac5508503.html,:1110 CLOSE_WAIT Netstat的一些常用选项: netstat -s——本选项能够按照各个协议分别显示其统计数据。如果你的应用程序(如Web 浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么你就可以用本选项来查看一下所显示的信息。你需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。 netstat -e——本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量。 netstat -r——本选项可以显示关于路由表的信息,类似于后面所讲使用route print命令时看到的信息。除了显示有效路由外,还显示当前有效的连接。 IPv4 Route Table ================================================ =========================== Interface List 0x1 ........................... MS TCP Loopback interface 0x10003 ...00 14 2a 57 a7 49 ...... Realtek RTL8139/810x Family Fast Ethernet NI C - Virtual Machine Network Services Driver ================================================ =========================== ================================================

Netstat检验本机各端口的网络连接

Netstat 是DOS命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息.Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,TCP/IP可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用Netstat查一查为什么会出现这些情况了。 一般用netstat -na 来显示所有连接的端口并用数字表示. netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。 该命令(linux下)的一般格式为: netstat [选项] 命令中各选项的含义如下: -a 显示所有socket,包括正在监听的。 -c 每隔1秒就重新显示一遍,直到用户中断它。 -i 显示所有网络接口的信息,格式同―ifconfig -e‖。 -n 以网络IP地址代替名称,显示出网络连接情形。 -r 显示核心路由表,格式同―route -e‖。 -t 显示TCP协议的连接情况。 -u 显示UDP协议的连接情况。 -v 显示正在进行的工作。 -A 显示任何关联的协议控制块的地址。主要用于调试 -a 显示所有套接字的状态。在一般情况下不显示与服务器进程相关联的套接字-i 显示自动配置接口的状态。那些在系统初始引导后配置的接口状态不在输出之列 -m 打印网络存储器的使用情况 -n 打印实际地址,而不是对地址的解释或者显示主机,网络名之类的符号 -r 打印路由选择表

net命令全解

net命令全解 许多 Windows NT 网络命令以 net 开始。这些 net 命令有一些公共属性: 通过键入 net /? 可查阅所有可用的 net 命令。 通过键入 net help 命令可在命令行中获得 net 命令的语法帮助。例如,要得到 net acco unts 命令的帮助,请键入 net help accounts。 所有 net 命令接受选项 / yes 和 /no(可缩写为 / y 和 /n )。/ y 对命令产生的任何交 互提示自动回答“是”,/n 回答“否”。例如,net stop server 通常提示确认是否根据服 务器服务结束所有服务,net stop server /y 自动回答“是”并关闭服务器服务。 Net Accounts 更新用户帐号数据库、更改密码及所有帐号的登录要求。必须要在更改帐号参数的计算机上 运行网络登录服务。 net accounts [/forcelogoff:{minutes | no}] [/minpwlen:length] [/maxpwage:{day s | unlimited}] [/minpwage:days] [/uniquepw:number] [/domain] net accounts [/sync] [/domain] 参数 无 键入不带参数的net accounts,将显示当前密码设置、登录时限及域信息。 /forcelogoff:{minutes | no} 设置当用户帐号或有效登录时间过期时,结束用户和服务器会话前的等待时间。no 选项禁止强行注销。该参数的默认设置为no。 指定/forcelogoff:minutes 之后,Windows NT 在其强制用户退出网络minutes 分钟之前 ,将给用户发出警报。如果还有打开的文件,Windows NT 将警告用户。如果minutes 小于两分钟,Windows NT 警告用户立即从网络注销。 /minpwlen:length 设置用户帐号密码的最少字符数。允许范围是0-14,默认值为6。 /maxpwage:{days | unlimited} 设置用户帐号密码有效的最大天数。unlimited 不设置最大天数。/maxpwage 选项的天数必

相关文档