网络工具汇总
一、trcaeroute
1.作用:
1)诊断两点之间不能正常通信时问题出在哪里(一般是确定哪一段路由有问题),PC1 traceroute PC2: 确定其间的哪一跳路由有问题,再逐级排查。
2)跟踪两点之间所经过的路由信息,确定PC1与PC2之间的所有网段信息。
2.与Windows上的区别
windows上用tracert, 例如:tracert www.sina.com
3.命令参数:
-d 使用Socket层级的排错功能。
-f 设置第一个检测数据包的存活数值TTL的大小。
-F 设置勿离断位。
-g 设置来源路由网关,最多可设置8个。
-i 使用指定的网络界面送出数据包。
-I 使用ICMP回应取代UDP资料信息。
-m 设置检测数据包的最大存活数值TTL的大小。
-n 直接使用IP地址而非主机名称。
-p 设置UDP传输协议的通信端口。
-r 忽略普通的Routing Table,直接将数据包送到远端主机上。
-s 设置本地主机送出数据包的IP地址。
-t 设置检测数据包的TOS数值。
-v 详细显示指令的执行过程。
-w 设置等待远端主机回报的时间。
-x 开启或关闭数据包的正确性检验。
4.使用示例:
traceroute www.sina.com :对新浪地址进行追踪。
traceroute -n www.sina.com:来避免DNS解析,当如果某台DNS出现问题时,不能解析主机名、域名时,会有延时长的现象。
traceroute -q 4 www.sina.com: 表示每次向网关发送的探测数据包数量
traceroute -m 10 www.wangshihai.com: 表示设置的跳转数量为10次
traceroute -p 7778 www.wangshihai.com: 表示我们探测包使用UDP端口设置7778。
traceroute -r www.wangshihai.com: 表示绕过真正的路由,直接发送到网络主机。
traceroute -w 5 www.wangshihai.com: 表示我么设置对外发送探测包的等待响应时间设置为5秒
5.说明:
会看到有一些行是以*表示的,出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。
二、iperf
三、 dnsmasq
dnsmasq 是一个小巧且方便地用于配置 DNS 和 DHCP 的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。它服务那些只在本地适用的域名,这些域名是不会在全球的DNS服务器中出现的。DHCP服务器和DNS服务器结合,并且允
许DHCP分配的地址能在DNS中正常解析,而这些DHCP分配的地址和相关命令可以配置到每台主机中,也可以配置到一台核心设备中(比如路由器),DNSmasq支持静态和动态两种DHCP配置方式。
优秀博文:hdnsmasq详解及配置: ttps://blog.51cto.com/longlei/2065967
四、netstat
# netstat -tln | grep 53 查看域名解析端口53是否被占用
# lsof -i:53 查看占用53号端口的进程,有些嵌入式系统并不支持。
# netstat -tln | grep 53 tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN tcp 0 0 :::53 :::* LISTEN # lsof -i:53 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME dnsmasq 2101 nobody 4u IPv4 6496 0t0 UDP *:domain dnsmasq 2101 nobody 5u IPv4 6497 0t0 TCP *:domain (LISTEN) dnsmasq 2101 nobody 6u IPv6 6498 0t0 UDP *:domain dnsmasq 2101 nobody 7u IPv6 6499 0t0 TCP *:domain (LISTEN)
# netstat -tulnp //查看所有监听端口及进程信息 Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program Name tcp 0 0 127.0.0.1:30516 0.0.0.0:* LISTEN 4230/com.sam.diagnostic tcp 1 0 127.0.0.1:36625 127.0.0.1:40658 ESTABLISHED 4650/com.sam.caraccount tcp6 0 0 [::]:39621 [::]:* LISTEN 7653/com.qiyi.video.iv tcp6 0 0 ::ffff:10.183.162:36297 [::]:* LISTEN 2676/com.sam.airplay udp 0 0 0.0.0.0:39929 0.0.0.0:* 4650/com.sam.caraccount udp6 0 0 ::1:323 [::]:* 805/chronyd udp6 0 0 ::ffff:10.183.162:33168 [::]:* 7653/com.qiyi.video.iv
五、 /etc/services
文件中列出所有的端口号对应的服务的名称。
~$ cat /etc/services
imsp 406/udp svrloc 427/tcp # Server Location svrloc 427/udp https 443/tcp # http protocol over TLS/SSL snpp 444/tcp # Simple Network Paging Protocol
...
六、ss(Socket Statistics)
ss 是 netstat 的升级版,性能更优且输出简洁,适合快速查看端口状态。是现代系统的首选。
# ss --help 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 -s, --summary show socket usage summary //显示汇总概括信息 -b, --bpf show bpf filter socket information -E, --events continually display sockets as they are destroyed //会阻塞 -Z, --context display process SELinux security contexts //可显示selinux context -z, --contexts display process and socket SELinux security contexts //两个selinux都显示 -N, --net switch to the specified network namespace name -4, --ipv4 display only IP version 4 sockets -6, --ipv6 display only IP version 6 sockets -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 -f, --family=FAMILY display sockets of type FAMILY FAMILY := {inet|inet6|link|unix|netlink|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}[,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}
使用示例:
# ss -tuln //查看所有监听的TCP/UDP端口 Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port udp UNCONN 0 0 0.0.0.0:58529 0.0.0.0:* udp UNCONN 0 0 172.168.1.2:45277 0.0.0.0:* tcp LISTEN 0 5 0.0.0.0:37159 0.0.0.0:* tcp LISTEN 0 128 172.20.1.45:55111 0.0.0.0:* tcp LISTEN 0 4 *:5555 *:* tcp LISTEN 0 8 [::ffff:127.0.0.1]:60981 *:* tcp LISTEN 0 50 [::ffff:10.183.162.51]:34881 *:* ...
# ss -tulnp //查看端口占用情况,需root权限显示进程信息 Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port udp UNCONN 0 0 0.0.0.0:58529 0.0.0.0:* users:(("peng.caraccount",pid=4596,fd=139)) tcp LISTEN 0 5 0.0.0.0:37159 0.0.0.0:* users:(("iaopeng.airplay",pid=2706,fd=85)) tcp LISTEN 0 4 *:5555 *:* users:(("adbd",pid=7696,fd=18)) ...
其中: -t:TCP协议,-u:UDP协议,-l:仅显示监听状态,-n:端口号不转服务名,-p:显示进程ID(PID)和名称。
posted on 2018-08-05 21:22 Hello-World3 阅读(373) 评论(0) 收藏 举报
浙公网安备 33010602011771号