ping
ping命令应该是大家最熟知的命令,查询端对端的连接是否连通。
步骤一般首先自己ping自己,这个几乎是不会失败的,就是检测自己的tcp/ip协议簇是否出现故障,可以用ifconfig命令查看自己的ip地址,或者直接ping127.0.0.1也是没有问题的。
之后就根据需要,比如ping本地网关,检测跟本地网关是否通信故障;ping本地dns服务器,检测跟dns服务器是否通信故障;或者ping其他pc等。值得一提的是,如果ping网址可以得到它们的ip地址。
tcpdump
tcpdump更像是Linux上的wireshark(一款抓包工具),不过wireshark有Linux版本的。可以抓各种包,比如:tcp、udp、arp等等。(楼主pc用的是win10系统)就跟我电脑上用的wireshark一模一样的,只不过一些条件的设置是用命令去实现的,比如监听某个ip的所有包,监听发出去的包,监听接收的包等等。不过网卡要设置混杂模式,而最好用root权限执行,看的东西更多一些。
下面的示例tcpdump用法(host可以是源ip也可以是目标ip,port同理)
tcpdump 'port 80 and host www.baidu.com' -w test.cap
如果有多块网卡需要使用-i命令指定网卡,使用下面的命令查看网卡
ifconfig
例如
tcpdump -iens192 'port 3389' -w test.cap
netstat
netstat可以显示ip、tcp、udp、icmp协议相关数据和端口,可以监测本地套接字还有网络套接字,以及相应端口号和连接建立状态如ESTABLISHED,显示进程pid,还有接收队列和发送队列。
lsof
linux下万物皆文件,套接字拥有文件描述符,打开的文件和设备也有文件描述符,lsof可以查看打开的文件描述符的情况,可以监测用户的文件描述符(可能是文件也可能是套接字)打开情况,也可以监测某些打开的文件设备被哪些进程占用了,或者监测程序使用了哪些文件描述符。