[转帖]网络分析工具--【ping、tcpdump、netstat、lsof、ss】

网络分析工具--【ping、tcpdump、netstat、lsof、ss】
原创小呀小二笙 发布于2019-01-01 15:32:19 阅读数 1314 收藏

https://blog.csdn.net/qq_38790716/article/details/85486681

看原文比较好  复制的话 图片没有过来. 

展开

文章目录
1. ping
1.1 概述
1.2 ping的使用
1.3 ping常用参数
2. tcpdump
2.1 概述
2.2 tcpdump使用
3. netstat
3.1 概述
3.2 常见参数
3.3 参数使用
4. lsof
4.1 概述
4.2 常见参数列表
4.3 常用命令
5. ss
5.1 概述
5.2 详细参数
5.3 常见用法
1. ping
1.1 概述
ping pingping(PacketInternetGroper Packet Internet GroperPacketInternetGroper)是Windows、UNIX和Linux Windows、UNIX和LinuxWindows、UNIX和Linux系统下的一个命令
ping pingping也属于一个通信协议,是TCP/IP TCP/IPTCP/IP协议的一部分
利用ping命令可以检查网络是否连通,可以很好地帮助分析和判断网络故障
原理:利用网络上机器IP IPIP地址地唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连通以及时延是多少
应用格式:ping pingping 空格 IP IPIP地址
1.2 ping的使用
1.windows windowswindows使用ipconfig/all观察本地网络设置是否正确,Linux LinuxLinux使用ifconfig查看

2.ping 127.0.0.1,检查本地的TCP/IP协议有没有设置好

3.ping本机IP IPIP地址,检查本机的IP地址是否设置有误

4.ping本网网关或本网IP IPIP地址,这样是为了检查硬件设备是否有问题,也可以检查本机与本地网络连接是否正常(在非局域网中这一步骤可以忽略)

5.ping本地DNS地址,检查本地DNS服务器是否工作正常

之前使用ipconfig/all得到的DNS服务器地址:

ping DNS服务器地址:

6.ping pingping远程IP IPIP地址,主要检查本网或本机与外部的连接是否正常,还可以用来测试网络延时,这里ping pingping百度:

1.3 ping常用参数

2. tcpdump
2.1 概述
tcpdump tcpdumptcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析,支持针对协议、主机、网络或端口的过滤,并提供了and、or、not and、or、notand、or、not等逻辑语句来帮助去掉无用的信息
tcpdump tcpdumptcpdump根据使用者的定义对网络上的数据包进行截获和分析
tcpdump tcpdumptcpdump使用参数指定要监视数据包的类型、地址、端口等,根据具体的网络问题,利用这些参数定义的过滤规则就能达到迅速定位故障的目的
tcpdump tcpdumptcpdump采用命令行格式,它的命令格式为:
tcpdump [ -adeflnNOpqStvx] [-c 数量] [-F 文件名]
[-i 网络接口] [-r 文件名] [-s snaplen]
[-T 类型] [-w 文件名] [表达式]
1
2
3
表达式是一个正则表达式,tcpdump tcpdumptcpdump利用它作为过滤报文的条件

2.2 tcpdump使用
1)默认启动
tcpdump
1
默认情况下,直接启动tcpdump tcpdumptcpdump将监视第一个网络接口(非lo口)上所有流通的数据包。这样抓取的结果会非常多,滚动非常快

2)监视指定网络接口的数据包
tcpdump -i eth1
1
如果不指定网卡,默认tcpdump tcpdumptcpdump只会监视第一个网络接口,如eth0 eth0eth0。

3)监视指定主机的数据包,例如所有进入或离开hostname hostnamehostname的数据包
tcpdump host hostname
1
4)打印helios helioshelios<–>hot hothot或helios helioshelios<–>ace aceace之间通信的数据包
tcpdump host helios and \( hot or ace \)
1
5)打印ace aceace与任何其他主机之间通信的IP IPIP数据包,但不包括与helios helioshelios之间的数据包
tcpdump ip host ace and not helios
1
6)截获某端口相关的包
tcpdump port 6666
1
7)监视指定主机和端口的数据包
tcpdump tcp port 22 and host hostname
1
了解更多相关命令tcpdump

3. netstat
3.1 概述
netstat netstatnetstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于校验本机各端口的网络连接情况
netstat netstatnetstat是在内核中访问网络及相关信息的程序,它能提供TCP TCPTCP连接、对TCP TCPTCP和UDP UDPUDP的监听及获取进程内存管理的相关报告
netstat netstatnetstat的命令格式:
netstat [-acCeFghilMnNoprstuvVwx] [-A< 网络类型>] [--ip]
1
3.2 常见参数
参数 说明
−a -a−a 显示所有选项,默认不显示LISTEN LISTENLISTEN相关
−t -t−t 仅显示TCP TCPTCP相关选项
−u -u−u 仅显示UDP UDPUDP相关选项
−n -n−n 拒绝显示别名,能显示数字的全部转化为数字
−l -l−l 仅列出有在listen listenlisten(监听)的服务状态
−p -p−p 显示建立相关链接的程序名
−r -r−r 显示路由信息,路由表
−e -e−e 显示扩展信息,例如uid uiduid等
−s -s−s 按各个协议进行统计
−c -c−c 每隔一个固定时间,执行该netstat netstatnetstat命令
3.3 参数使用
1.列出所有端口: netstat -a

2.列出所有TCP TCPTCP端口:netstat -at

3.列出所有UDP UDPUDP端口:netstat -au

4.列出所有处于监听状态的socket socketsocket:netstat -l

5.列出所有监听TCP TCPTCP端口的socket socketsocket:netstat -lt

6.列出所有监听UDP UDPUDP端口的socket socketsocket:netstat -lu

7.列出所有监听UNIX UNIXUNIX端口的socket socketsocket:netstat -lx

8.在netstat netstatnetstat输出中显示PID PIDPID和进程名称:netstat netstatnetstat −p -p−p

更多netstat netstatnetstat参数详解netstat

4. lsof
4.1 概述
lsof是一个是一个列出当前系统打开文件的工具
在Linux LinuxLinux下,任何事物皆是以文件形式存在的,并且系统在后台都为该应用程序分配了一个文件描述符,通过该文件描述符能掌握大量关于该应用程序的信息,因此通过lsof lsoflsof查看这个列表对系统监测以及排错将是有很大帮助的
执行lsof lsoflsof命令,输出结果如下:

1)COMMAND COMMANDCOMMAND:进程的名称
2)PID PIDPID:进程标识符
3)USER USERUSER:进程所有者
4)FD FDFD:文件描述符,应用程序通过文件描述符识别该文件,如cwd cwdcwd、txt txttxt等
5)TYPE TYPETYPE:文件类型,如DIR、REG DIR、REGDIR、REG等
6)DEVICE DEVICEDEVICE:指定磁盘的名称
7)SIZE SIZESIZE:文件的大小
8)NODE NODENODE:索引节点(文件在磁盘上的标识)
9)NAME NAMENAME:打开文件的确切名称
4.2 常见参数列表

lsof filename 显示打开指定文件的确切名称
lsof -a 表示两个参数都必须满足时才显示结果
lsof -c string 显示COMMAND列中所包含指定字符的进程所有打开的文件
lsof -u username 显示所属user进程打开的文件
lsof -g gid 显示归属gid的进程情况
lsof +d /DIR/ 显示目录下被进程打开的文件
lsof +D /DIR/ 同上,但是会搜索目录下的所有目录,时间相对较长
lsof -d FD 显示指定文件描述符的进程
lsof -n 不将IP转换为hostname,缺省是不加上-n参数
lsof -i 用以显示符合条件的进程情况

4.3 常用命令
1.查看6666端口现在运行情况,命令:lsof -i :6666

2.查看所属root rootroot用户进程所打开的文件,文件类型为.txt .txt.txt:lsof -a -u root -d txt

3.监控打开的文件和设备。查看设备 /dev/tty1 /dev/tty1/dev/tty1被哪些进程占用的命令:lsof /dev/tty1

4.监控程序,如查看指定程序server serverserver打开的文件:lsof -c server

5.监控用户。比如查看指定用户ubuntu ubuntuubuntu打开的文件:lsof -u ubuntu

5. ss
5.1 概述
ss是Socket Statistics的缩写,顾名思义用于显示socket状态的统计(可以显示PACKETsockets、TCPsockets、UDPsockets、DCCPsockets PACKET sockets、TCP sockets、UDP sockets、DCCP socketsPACKETsockets、TCPsockets、UDPsockets、DCCPsockets、RAWsockets、UNIX RAW sockets、UNIXRAWsockets、UNIX domainsockets domain socketsdomainsockets等统计)
它可以显示和netstat netstatnetstat类似的内容。但ss ssss的优势在于它能够显示更多更详细的有关TCP TCPTCP和连接状态的信息,而且比netstat netstatnetstat更快速更高效
$ss的命令格式:

ss [option]
ss [option] [过滤]

5.2 详细参数

[email protected]0-2-ubuntu:/home/ubuntu# ss -h
Usage: ss [ OPTIONS ]
ss [ OPTIONS ] [ FILTER ]
-h, --help this message //帮助信息
-V, --version output version information //程序版本信息
-n, --numeric don‘t resolve service names //不解析服务名称
-r, --resolve resolve host names //解析主机名
-a, --all display all sockets //显示所有套接字
-l, --listening display listening sockets //显示监听状态的套接字
-o, --options show timer information //显示计时器信息
-e, --extended show detailed socket information //显示详细的套接字信息
-m, --memory show socket memory usage //显示套接字的内存使用情况
-p, --processes show process using socket //显示使用套接字的进程
-i, --info show internal TCP information //显示TCP内部信息
-s, --summary show socket usage summary //显示套接字使用概况
-b, --bpf show bpf filter socket information //显示BPF过滤器套接字信息
-E, --events continually display sockets as they are destroyed //在被破环时不断显示套接字
-Z, --context display process SELinux security contexts //显示SELinux的安全上下文过程
-z, --contexts display process and socket SELinux security contexts //显示过程和Socket SELinux的安全上下文
-N, --net switch to the specified network namespace name //切换到指定的网络命名空间名称

-4, --ipv4 display only IP version 4 sockets //仅显示IPV4的套接字
-6, --ipv6 display only IP version 6 sockets //仅显示iPV6的套接字
-0, --packet display PACKET sockets
-t, --tcp display only TCP sockets
-S, --sctp display only SCTP sockets
-u, --udp display only UDP sockets
-d, --dccp display only DCCP sockets
-w, --raw display only RAW sockets
-x, --unix display only Unix domain sockets
--vsock display only vsock sockets
-f, --family=FAMILY display sockets of type FAMILY //示 FAMILY类型的套接字(sockets),FAMILY可选,支持 unix, inet, inet6, link, netlink
FAMILY := {inet|inet6|link|unix|netlink|vsock|help}

-K, --kill forcibly close sockets, display what was closed
-H, --no-header Suppress header line

-A, --query=QUERY, --socket=QUERY
QUERY := {all|inet|tcp|udp|raw|unix|unix_dgram|unix_stream|unix_seqpacket|packet|netlink|vsock_stream|vsock_dgram}[,QUERY]

-D, --diag=FILE Dump raw information about TCP sockets to FILE
-F, --filter=FILE read filter information from FILE //从文件中去过滤器的信息
FILTER := [ state STATE-FILTER ] [ EXPRESSION ]
STATE-FILTER := {all|connected|synchronized|bucket|big|TCP-STATES}
TCP-STATES := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|closed|close-wait|last-ack|listening|closing}
connected := {established|syn-sent|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing}
synchronized := {established|syn-recv|fin-wait-{1,2}|time-wait|close-wait|last-ack|closing}
bucket := {syn-recv|time-wait}
big := {established|syn-sent|fin-wait-{1,2}|closed|close-wait|last-ack|listening|closing}

5.3 常见用法
1.显示所有网络连接ss -a -n

2.显示TCP TCPTCP连接:ss -t -a

3.显示Sockets SocketsSockets摘要信息: ss -s

4.列出所有处在listening listeninglistening状态的socket socketsocket: ss -l

5.列出每个进程名及其监听的端口: ss -lp

6.显示所有UDP UDPUDP Sockets SocketsSockets: ss -u -a

7.显示所有状态为established establishedestablished的SMTP SMTPSMTP连接: ss -o state established ‘( dport = :smtp or sport = :smtp )‘

8.显示所有状态为Established EstablishedEstablished的HTTP HTTPHTTP连接: ss -o state established ‘( dport = :http or sport = :http )‘

了解更多详细有关ss命令可以参考:(感谢评论区的同学@凡晨_雪杰介绍)
Linux网络状态工具ss ssss命令使用详解
每天一个linux命令(57):ss命令

---------------------------------------mood moodmood--------------------------------------------

2019 20192019,也要一个人勇敢的走下去。

点赞 9
————————————————
版权声明:本文为CSDN博主「小呀小二笙」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38790716/article/details/85486681

原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/12083285.html

时间: 2024-10-28 23:35:44

[转帖]网络分析工具--【ping、tcpdump、netstat、lsof、ss】的相关文章

linux 网络管理 监测等相关的工具 ping 、traceroute、ss、netstat

netstat  ss ping traceroute mtr 1.ping命令 ping命令使用的是icmp协议,可以用来测试网络的连通信. ping [options] IP            -c #            -w deadline: 测试执行时长 # ping -c 2 172.16.0.1 2.traceroute 追踪路由 获取从当前主机到达目标主机所有经过的网关 常用示例: 示例1 traceroute www.baidu.com 示例2以数字格式显示,并只显示前

linux工作利器之二,网络分析工具tcpdump

简单介绍 tcpdump是一个能够对网络上的数据包进行收集的网络分析工具,根据用户自定义条件截取数据包,具备灵活的策略,是系统管理员分析网络.排查问题的利器.tcpdump提供了源代码,有公开的接口,因此具备很强的可扩展性,它支持针对网络层.协议.主机.网络或端口的过滤,并且支持and.or.not等逻辑语句.普通用户无法执行tcpdump命令,只有具备root权限才能执行. 参数介绍 默认情况下启动tcpdump,将监听在第一个网络接口上所有流过的数据包 tcpdump支持很多参数,往往网络中

netstat/lsof

netstat/lsof netstat命令用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况 -a 显示一个所有的有效连接信息列表(包括已建立的连接,也包括监听连接请求的那些连接) -n 显示所有已建立的有效连接 -t tcp协议 -u udp协议 -l 查询正在监听的程序 -p 显示正在使用socket的程序识别码和程序名称 例如:netstat -ntupl|grep processname 如何只查询tomcat的连接? netstat -n

科来网络分析工具 (自己使用过 感觉还不行)

科来网络分析工具官网 在网易云课堂学习课程 Wireshark协议分析从入门到精通 时听老师说起过国内的这家厂商的网络分析软件,所以自己测试了下 我只测试了  科来MAC地址扫描器  和 科来Ping工具 这两个小辅助工具 务性能管理系统(UPM) 网络回溯分析系统(RAS) 网络分析系统(CSNAS) 我没用使用  科来MAC地址扫描器 最大线程可设置为100 运行图如下 科来Ping工具  看我这里的网络 似乎不怎么好啊,这里屏蔽了cnblogs,我也不知道为什么 原文地址:https://

GNU开发工具——WireShark网络分析工具

GNU开发工具--WireShark网络分析工具 一.WireShark网络分析工具简介 1.WireShark简介 Wireshark是目前全球使用最广泛的开源网络封包分析软件(前身为Ethereal),由Gerald Combs编写并于1998年以GPL开源许可证发布.网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料. 2.WireShark架构 GUI:处理所有的用户输入输出(所有窗体,对话框等)Core:核心模块,通过函数调用将其他模块连接在一起Epan:包分析

Linux抓包工具:tcpdump

tcpdump 是一个命令行实用工具,允许你抓取和分析经过系统的流量数据包.它通常被用作于网络故障分析工具以及安全工具. tcpdump 是一款强大的工具,支持多种选项和过滤规则,适用场景十分广泛.由于它是命令行工具,因此适用于在远程服务器或者没有图形界面的设备中收集数据包以便于事后分析.它可以在后台启动,也可以用 cron 等定时工具创建定时任务启用它. 本文中,我们将讨论 tcpdump 最常用的一些功能. 1.在 Linux 中安装 tcpdump tcpdump 支持多种 Linux 发

android ping、netstat、telnet

1.android ping和netstat可以通过Runtime.getRuntime().exec(cmd)执行.跟windows的命令相似,可以直接参考windows下的对应的CMD命令 2.Android要想运行Telnet命令需要借助于Apache的commons-net-3.3.jar下的TelnetClient.下载地址: http://commons.apache.org/proper/commons-net/download_net.cgi 具体用法,可以在百度上搜一下,这里只

科来网络分析工具基本操作与案例分析

网络分析工具--科来 一.什么是科来 科来网络分析系统为网络管理工作提供了全面可靠的数据依据,它可以帮助用户排查网络故障.规避网络风险.提升网络性能.提高故障处理能力.减少故障损失并降低管理成本,所以,科来网络分析系统是网络管理中的必备产品. 科来网络分析系统是一个让网络管理者,能够在各种网络问题中,对症下药的网络管理方案,它对网络中所有传输的数据进行检测.分析.诊断,帮助用户排除网络事故,规避安全风险,提高网络性能,增大网络可用性价值. 管理者不用再担心网络事故难以解决,科来网络分析系统可以帮

TCP/IP 工具Ping

TCP/IP 工具Ping 在网络中Ping 是一个十分好用的TCP/IP工具.它主要的功能是用来检测网络的连通情况和分析网络速度. C:\Users\gechong>ping /? 用法: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list] | [-k host-list]] [-w timeout] [-R] [-S srcaddr] [-4] [-6