linux端口相关命令

关闭端口

iptables -A INPUT -p tcp --dport 111 -j DROP

打开端口

iptables -A INPUT -p tcp --dport 111 -j ACCEPT

很多linux发行版, 默认iptables服务启动的时候都只保留的最基本的端口, 例如22端口, 但是其他的都是禁止状态, 因为当你需要使用某一个软件或者服务的时候会发现它的端口的不通的, 你telnet不上去!这个时候你可以通过 netstat -an | grep 端口号 来检验下是不是已经打开了某某服务如果没有就去启动它, RedHat系列的一般是: service xxx start 或者 /etc/init.d/xxx start如果确定已经打开了, 那很可能就是防火墙阻止了此端口, 这个和windows自带的防火墙感觉差不多service iptables stop之后看看效果如何, 当然你可以单独解封这一个端口, 例如我们允许58端口

/sbin/iptables -A INPUT -p udp --dport 58 -j ACCEPT

LINUX网络性能之管理工具三剑客 本文是介绍管理Linux查看端口这些输出信息,该命令将显示从每个数据包传出的头和来自主机hostname对端口80的编址。

Netstat -tln 命令是Linux查看端口使用情况

/etc/init.d/vsftp start 是用来启动ftp端口~!

看文件/etc/services

netstat

Linux查看端口查看已经连接的服务端口(ESTABLISHED)

netstat -a

Linux查看端口查看所有的服务端口(LISTEN,ESTABLISHED)

sudo netstat -ap

Linux查看端口查看所有的服务端口并显示对应的服务程序名 nmap <扫描类型><扫描参数> 例如: nmap localhost nmap -p 1024-65535 localhost nmap -PT 192.168.1.127-245 当我们使用netstat -apn查看网络连接的时候,会发现很多类似下面的内容: Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 52 218.104.81.152:7710 211.100.39.250:29488 ESTABLISHED 6111/1

显示这台服务器开放了7710端口,那么这个端口属于哪个程序呢?我们可以使用lsof -i :7710命令来查询:

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

sshd 1990 root 3u IPv4 4836 TCP *:7710 (LISTEN) 网管联盟bitsCN@com

这样,我们就知道了7710端口是属于sshd程序的。

linux上使用netstat察看mysql端口和连接

近日发现写的一个java程序的数据库连接在大压力下工作不打正常,因此研究了一下dbcp,中间为了查看mysql服务器的数据库连接情况,需要使用

netstat来查看端口和连接, 将使用到的命令整理了一下备忘, 这些命令同样可以用于查看其他运用程序的端口和连接情况.

netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息,这里我只用到其中的部分功能.

直接输入netstat,显示

Active Internet connections (w/o servers)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 localhost:41144 localhost:41147 ESTABLISHED

tcp 0 0 localhost:21576 localhost:21579 ESTABLISHED

tcp 0 0 linux.local:telnet 10.3.18.129:nbx-au ESTABLISHED

tcp 1 0 localhost:39706 localhost:58099 CLOSE_WAIT

......

Active UNIX domain sockets (w/o servers)

Proto RefCnt Flags Type State I-Node Path

unix 2 [ ] DGRAM 910 /var/named/dev/log

unix 2 [ ] DGRAM 908 /var/lib/dhcp/dev/log

unix 8 [ ] DGRAM 906 /dev/log

.....

输出结果可以分为两个部分,一个是Active Internet connections,另一个是Active UNIX domain sockets.

netstat 的常用参数: - t、- u、- w和-

x分别表示TCP、UDP、RAW和UNIX套接字连接。-a标记,还会显示出等待连接(也就是说处于监听模式)的套接字。-l

显示正在被监听(listen)的端口, -n表示直接显示端口数字而不是通过察看/etc/service来转换为端口名,-p选项表示列出监听的程序

1) netstat -tl

查看当前tcp监听端口

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 *:rrac *:* LISTEN

tcp 0 0 *:34006 *:* LISTEN

......

2) netstat -tlp

查看当前tcp监听端口, 需要显示监听的程序名,当不清楚mysql的监听端口时比较好用 Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 *:rrac *:* LISTEN - tcp 0 0 *:34006 *:* LISTEN 23425/mysqld ......

3) netstat -tl | grep 34006

只查看mysql的监听端口,当前启动的mysql端口为34006,明确知道mysql监听端口时使用

4) netstat -ta | grep 34006

tcp 0 0 *:34006 *:* LISTEN

tcp 0 0 linux.local:34006 linux.local:41485 ESTABLISHED

tcp 0 0 linux.local:34006 linux.local:41486 ESTABLISHED

...

tcp 0 0 10.3.2.35:41488 10.3.2.35:34006 ESTABLISHED

tcp 0 0 10.3.2.35:41489 10.3.2.35:34006 ESTABLISHED

tcp 0 0 10.3.2.35:41490 10.3.2.35:34006 ESTABLISHED

由于数据库和运用程序都放在同一台机器了,因此这里连接被显示了两次. 可以使用-p参数来显示PID,然后grep PID.

5) netstat -tap | grep 34006 | grep 23425

23425是当前mysql的PID

tcp 0 0 *:34006 *:* LISTEN 23425/mysqld

tcp 0 0 linux.local:34006 linux.local:41510 ESTABLISHED 23425/mysqld tcp 0 0 linux.local:34006 linux.local:41511 ESTABLISHED 23425/mysqld tcp 0 0 linux.local:34006 linux.local:41516 ESTABLISHED 23425/mysqld

 

第二篇:linux 监听并杀死端口命令

Linux下ps查找进程用kill终止命令 监听端口命令: lsof –i :8080

使用linux操作系统,难免遇到一些软件"卡壳"的问题,这时就需要使用linux下强大的kill命令来结束相关进程。这在linux系统下是极其容易的事情,你只需要kill xxx即可,这里xxx代表与此软件运行相关的进程PID号。

AD:

linux监听并杀死端口命令

51CTO云计算架构师峰会 抢票进行中!

首先,我们需要使用linux下另外一个ps命令查找与进程相关的PID号:ps aux | grep program_filter_word

ps a 显示现行终端机下的所有程序,包括其他用户的程序。

ps -A 显示所有程序。

ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。 ps -e 此参数的效果和指定"A"参数相同。

ps e 列出程序时,显示每个程序所使用的环境变量。

ps f 用ASCII字符显示树状结构,表达程序间的相互关系。

ps -H 显示树状结构,表示程序间的相互关系。

ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。

ps s 采用程序信号的格式显示程序状况。

ps S 列出程序时,包括已中断的子程序资料。

ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。 ps u 以用户为主的格式来显示程序状况。

ps x 显示所有程序,不以终端机来区分。

最常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作。

其次,使用kill命令结束进程:kill xxx

1)作用

kill命令用来中止一个进程。

2)格式

kill [ -s signal | -p ] [ -a ] pid ...

kill -l [ signal ]

3)参数

-s:指定发送的信号。

-p:模拟发送信号。

-l:指定信号的名称列表。

pid:要中止进程的ID号。

Signal:表示信号。

4)说明

进程是Linux系统中一个非常重要的概念。Linux是一个多任务的操作系统,系统上经常同时运行着多个进程。我们不关心这些进程究竟是如何分配的,或者是内核如何管理分配时间片的,所关心的是如何去控制这些进程,让它们能够很好地为用户服务。

Linux操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性。交互进程是由一个Shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。批处理进程和终端没有联系,是一个进程序列。监控进程(也称系统守护进程)是Linux系统启动时启动的进程,并在后台运行。例如,httpd 是著名的Apache服务器的监控进程。

kill命令的工作原理是,向Linux系统的内核发送一个系统操作信号和某个程序的进程标识号,然后系统内核就可以对进程标识号指定的进程进行操作。比如在top命令中,我们看到系统运行许多进程,有时就需要使用kill中止某些进程来提高系统资源。在讲解安装和登陆命令时,曾提到系统多个虚拟控制台的作用是当一个程序出错造成系统死锁时,可以切换到其它虚拟控制台工作关闭这个程序。此时使用的命令就是kill,因为kill是大多数Shell内部命令可以直接调用的。

5)应用实例

(1)强行中止(经常使用杀掉)一个进程标识号为324的进程:

#kill -9 324

(2)解除Linux系统的死锁

在 Linux中有时会发生这样一种情况:一个程序崩溃,并且处于死锁的状态。此时一般不用重新启动计算机,只需要中止(或者说是关闭)这个有问题的程序即可。当kill处于X-Window界面时,主要的程序(除了崩溃的程序之外)一般都已经正常启动了。此时打开一个终端,在那里中止有问题的程序。比如,如果Mozilla浏览器程序出现了锁死的情况,可以使用kill命令来中止所有包含有Mozolla浏览器的程序。首先用ps命令查找该程序的 PID,然后使用kill命令停止这个程序:

#kill -SIGKILL XXX

其中,XXX是包含有Mozolla浏览器的程序的进程标识号。

(3)使用命令回收内存

我们知道内存对于系统是非常重要的,回收内存可以提高系统资源。kill命令可以及时地中止一些"越轨"的程序或很长时间没有相应的程序。例如,使用top命令发现一个无用 (Zombie) 的进程,此时可以使用下面命令:

#kill -9 XXX

其中,XXX是无用的进程标识号。

然后使用下面命令:

#free

此时会发现可用内存容量增加了。

(4)killall命令

Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如: # killall -HUP inetd

相关推荐