linux定位问题常用命令
本篇文章主要介绍了在使用linux过程中常见的一些定位问题的命令。
ifconfig(查看网卡)
$ ifconfig
enp1s0 Link encap:Ethernet HWaddr 28:d2:44:eb:bd:98
inet addr:192.168.0.103 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::8f0c:7825:8057:5eec/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:169854 errors:0 dropped:0 overruns:0 frame:0
TX packets:125995 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:174146270 (174.1 MB) TX bytes:21062129 (21.0 MB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:15793 errors:0 dropped:0 overruns:0 frame:0
TX packets:15793 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:2898946 (2.8 MB) TX bytes:2898946 (2.8 MB)如果要显示所有的网络接口,包含在线(up)的或下线(down)的,使用-a 选项。
如果要给一个网络接口分配一个IP地址,使用下面的命令
如果要启用一个网络接口,使用下面命令
如果要禁用一个网络接口,使用下面命令
ip(查看网卡)
显示所有网卡
查看路由信息
ifup,ifdown(激活或者禁用网卡)
ifup命令用于激活一个网络接口,使得可以接收或传输数据。
ifdown命令可以禁用一个网络接口,禁掉后就不能传输和接收数据了。
ping(探测网络连通性)
发送指定数量的包
traceroute(查看数据包路由途径)
mtr(ping+traceroute)

route(查看路由表)
添加一个网络路由到一个路由表:
从路由表中删除特定的路由项:
netstat(查看连接数)
查看某个服务的TCP连接数
查看udp的连接数
查看网卡列表
显示组播组的关系
显示网络统计信息
显示监听的套接口
ss(检测套接字)
显示所有活动的TCP连接以及计时器,运行以下命令:
ncat(nc)
ncat/nc既是一个端口扫描工具,也是一款安全工具,还是一款监测工具,甚至可以做为一个简单的TCP代理。 由于有这么多的功能,它被誉为是网络界的瑞士军刀。 安装
监听某个端口的入站连接
连接远程服务器执行命令
测试主机端口的连通性
nc进行主机间通信聊天
nmap(扫描主机)
扫描www.niewx.club这个地址的状态
iftop(查看流量)
-i: 接口
-B: 以字节而非比特显示

TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量
trickle(限制带宽)
这个应用用于限制网络带宽
限制wget的上传和下载速度限制上传为10KB/S,下载为20KB/s
单独限制某个进程的下载和上传速度
限制终端下的所有命令带宽为,下载500KB/S,上传250KB/s;
dstat(监控cpu内存)
tcpdump(网络抓包)
抓取包含10.10.10.122的数据包
抓取包含10.10.10.0/24网段的数据包
抓取包含端口22的数据包
抓取udp协议的数据包
抓取icmp协议的数据包
抓取arp协议的数据包
抓取ip协议的数据包
抓取源ip是10.10.10.122数据包。
抓取目的ip是10.10.10.122数据包
抓取源端口是22的数据包
抓取源ip是10.10.10.253且目的ip是22的数据包
抓取源ip是10.10.10.122或者包含端口是22的数据包
抓取源ip是10.10.10.122且端口不是22的数据包
抓取源ip是10.10.10.2且目的端口是22,或源ip是10.10.10.65且目的端口是80的数据包。
抓取源ip是10.10.10.59且目的端口是22,或源ip是10.10.10.68且目的端口是80的数据包。
把抓取的数据包记录存到/tmp/fill文件中,当抓取100个数据包后就退出程序。
从/tmp/fill记录中读取tcp协议的数据包
从/tmp/fill记录中读取包含10.10.10.58的数据包
curl(发送请求)
也可以保存源码 用curl -O 文件名 url,这个和wget类似
显示网页头部信息 用-i,当然也会把网页信息显示出来
参数 -v可以显示通信的过程:
更详细的通信信息可以用 参数 --trance 文件名 url,具体信息保存到单独的文件中
htpp的动词,例如GET POST,PUT,DELETE等,需要参数 -X
curl默认的是get请求,如果发送POSt请求
发送表单的时候,GET很简单 只需要把数据拼接到url后面就行
POST也不难
POST发送请求的数据体可以用-d
使用-d参数以后,HTTP 请求会自动加上标头Content-Type : application/x-www-form-urlencoded。并且会自动将请求转为 POST 方法,因此可以省略-X POST。-d参数可以读取本地文本文件的数据,向服务器发送。
上面命令读取data.txt文件的内容,作为数据体向服务器发送。 文件上传: 假定文件上传的表单是下面这样:
curl上传就应该是:
--referer参数表示的是你从哪个页面来的
User Agent字段,这个字段表示的是客户端设备的信息,服务器可能会根据这个User Agent字段来判断是手机还是电脑
--user-agent 可以用-A或者-H来替代
--cookie参数,使用--cookie可以携带cookie信息
增加头部信息 --header
参考链接
https://www.jianshu.com/p/39b9d66c9dbf
https://www.toutiao.com/i6812988437512061452/ https://www.toutiao.com/i6850221908475003405/
最后更新于
这有帮助吗?