Linux 网络和端口命令

一、查看网口IP等

显示或配置网络设备(网络接口卡)命令

sudo ifconfig

网口及ip信息

sudo ip link

网口信息

sudo ip addr

扫描端口是否开启服务,如下扫描 1至1000端口

nc -v -z -w2 [IP] 1-1000

1) -l

用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。

2) -p <port>

暂未用到(老版本的nc可能需要在端口号前加-p参数,下面测试环境是centos6.6,nc版本是nc-1.84,未用到-p参数)

3) -s 

指定发送数据的源IP地址,适用于多网卡机 

4) -u

 指定nc使用UDP协议,默认为TCP

5) -v

输出交互或出错信息,新手调试时尤为有用

6)-w

超时秒数,后面跟数字 

7)-z

表示zero,表示扫描时不发送任何数据

测试服务是否联通

telnet [IP] [PORT]

 Linux下查看网关方法 

1. route -n
2. ip route show
3. netstat -r

二、Ubuntu查看端口使用情况,使用netstat命令 

# 查看已经连接的服务端口(ESTABLISHED)
$ netstat -a

# 查看所有的服务端口(LISTEN,ESTABLISHED)
$ netstat -apn
$ netstat -apn | grep 8080
-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"参数相同。

查看指定端口,可以结合grep命令, 也可以使用lsof命令:

lsof输出信息 即可显示系统打开的文件默认显示所有进程打开的所有文件

lsof -i:8888

lsof filename 显示打开指定文件的所有进程
lsof -c string 显示command列中包含指定字符的进程所有打开的文件
lsof -u username 显示所属user进程打开的文件
lsof -g gid 显示归属gid的进程情况
lsof -i 显示符合条件的进程情况
lsof -d 显示指定文件描述符的进程
lsof -a 标示两个参数都必须满足时才显示结果

【lsof使用实例】

查看所属root用户进程所打开的文件类型为txt的文件:

lsof -a -u root -d txt

1.查找使用文件系统

卸载文件系统时,如果文件系统中有任何打开的文件,就会出错。可以通过 lsof 可以找出正在使用当前卸载文件系统的进程。

$ lsof /GTES11/
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
bash 4208 root cwd DIR 3,1 40962 /GTES11/
vim 4230 root cwd DIR 3,1 40962 /GTES11/

2.恢复删除的文件

进程打开某个文件,只要该进程保持打开该文件状态,删除文件之后依然存在于磁盘上。

在/proc目录下,其中包含了反映内核和进程树的各种文件,可以通过lsof从/proc目录下恢复该文件

使用lsof来查看当前是否有进程打开/var/logmessages文件

$ lsof |grep /var/log/messages syslogd 1283 root 2w REG 3,3 5381017 1773647 /var/log/messages (deleted) 从/proc/1283/fd/2

【结束占用端口进程】

若要关闭使用这个端口的程序,使用kill + 对应的pid

kill -9 PID

ps:kill就是给某个进程id发送了一个信号。默认发送的信号是SIGTERM,而kill -9发送的信号是SIGKILL,即exit。exit信号不会被系统阻塞,所以kill -9能顺利杀掉进程。

 

posted @ 2020-01-21 22:37  fieldtianye  阅读(1202)  评论(0编辑  收藏  举报