linux 怎么查看是否连接到别的网址

linux 怎么查看是否连接到别的网址,第1张

linux查看网络链接状况命令

netstat 参数如下:

-a 显示所有socket,包括正在监听的。

-c 每隔1秒就重新显示一遍,直到用户中断它。

-i 显示所有网络接口的信息,格式同“ifconfig -e”。

-n 以网络IP地址代替名称,显示出网络连接情形。

-r 显示核心路由表,格式同“route -e”。

-t 显示TCP协议的连接情况。

-u 显示UDP协议的连接情况。

-v 显示正在进行的工作。

netstat -an | grep LISTEN

0.0.0.0的就是每个IP都有的服务,写明哪个IP的就是绑定那个IP的服务。

2. netstat -tln

用来查看linux的端口使用情况

3. /etc/init.d/vsftp start

是用来启动ftp端口~!

4. netstat

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

5. netstat -a

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

6. sudo netstat -ap

查看所有的服务端口并显示对应的服务程序名

7. 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) 54com.cn

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

=================================================

下面这个语句是一个非常好的查看TCP连接状态的语句:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’

返回结果示例:

LAST_ACK 5

SYN_RECV 30

ESTABLISHED 1597

FIN_WAIT1 51

FIN_WAIT2 504

TIME_WAIT 1057

以下是各种状态的描述

CLOSED:无连接是活动的或正在进行

ESTABLISED:已建立连线的状态;

SYN_SENT:发出主动连线 (SYN 标志) 的连线封包;

SYN_RECV:接收到一个要求连线的主动连线封包;

FIN_WAIT1:该插槽服务(socket)已中 断,该连线正在断线当中;

FIN_WAIT2:该连线已挂断,但正在等待对方主机回应断线确认的封包;

TIME_WAIT:该连线已 挂断,但 socket 还在网路上等待结束;

LISTEN:通常用在服务的监听 port !可使用『 -l 』参数查阅。

CLOSING: 两边同时尝试关闭

TIME_WAIT:另一边已初始化一个释放

LAST_ACK:等待所有分组死掉

Linux的文件标识符,和Windows的就是文件名不同,它相当于文件的一个指针。在linux的C语言中,除了用通用的《【C】文件读写问题》(点击打开链)中介绍过的fopen等c语言通用 *** 作文件以外,其Linux应用请参考《【Linux】利用C语言文件流复制单一文件),还能用文件标识符还来 *** 作文件。这也是Linux中C语言,最底层,最原始控制文件的方式,其函数open,read,write,close已经完美地表明这一点。同时,在Linux无论是文件、设备和管道,甚至是个可 *** 作对象对可以视作文件来对待,具体表现为都可以用这个文件标识符来 *** 作他们。

文件标识符非常独特,并不是指针,其变量类型就是大家非常常用的int。

至于这个东西怎么用,具体请看如下文件读写程序:

#include <unistd.h>

#include <sys/types.h>

#include <sys/stat.h>

#include <fcntl.h>//文件控制

#include <stdlib.h>

#include <stdio.h>

#include <string.h>

#define MAXSIZE 512//缓冲区的大小

const char* FILEPATH="/tmp/file.txt"//文件目录

int main(void) {

int fd//文件标识符,

char *s = "被折腾的文字"

char buffer[MAXSIZE+1]//用来接字符的缓冲区

int size//读入的文件长度

if((fd=open(FILEPATH,O_CREAT|O_TRUNC|O_RDWR,0777))<0){

//O_CREAT如果指定文件不存在,则创建这个文件,O_EXCL如果要创建的文件已存在,则返回 -1,并且修改 errno 的值

//O_APPEND每次写 *** 作都写入文件的末尾,O_TRUNC如果文件存在,并且以只写/读写方式打开,则清空文件全部内容

//O_RDONLY只读模式,O_WRONLY只写模式,O_RDWR读写模式

//0777为最高权限

perror("打开文件失败!")

exit(1)

}

if((write(fd,s,strlen(s)))<0){

perror("写入文件失败!")

exit(1)

}

//lseek(fd,0,SEEK_SET)//即把文件指针移至buf文件的开始处

lseek(fd,-strlen(s),SEEK_END)//即把文件指针往从结尾处向前移动strlen(s)个字符

if((size=read(fd,buffer,MAXSIZE))<0){

perror("读入文件失败!")

exit(1)

}else{

buffer[size]='\0'//字符串数组封口

printf("%s\n",buffer)

}

if(close(fd)<0) {

perror("关键文件失败!")

exit(1)

}

unlink(FILEPATH)//删除文件

exit(0)

}

这个程序的一大堆头文件,是没办法的,因为所用到的函数需要的基本头文件就是这么多,但这些头文件都是Linux的基本头文件,能够拿来直接用。

程序首先打开并同时利用open的参数创建一个文件,之后向这个文件,通过read函数写入一个名为“缓冲区”buffer的字符数组,也就是字符串string的一些东西,然后,写入完毕,因为文件 *** 作光标将会移到文件最后,所以我们要先将其移回文件头,再利用write函数读入这个文件的内容到buffer,并打印到屏幕,最后再用close关闭文件标识符与文件的连接,并利用unlink删除这个文件,如果没有close,unlink将不起作用,因为这个程序正在占用这个/tmp/file.txt,无法删除,如果要强制删除可以考虑remove函数。

所以,上述代码的运行结果如下图:

最后,这个文件自然是要被删除的了,肯定是没有的:

上述程序很简单,但我们更多应该关注这里文件标识符的作用。fd这个int就是文件标识符,相当于FILE *的作用,但他就是一个int。实质上,这个int非常独特,同open函数,int fd里面存着要被 *** 作文件的地址,但它却又不是int *,之后的write和read函数都要根据这个fd所指明的方向来,你可以发现write,read参数都有一个地方,填入了fd,可要求填入的,却是一个int变量,这在windows里面是没有的,同时不了解文件标识符的人,看到write和read的使用可能是云里雾里的,之后的close就更不用说了,就是清楚这个fd与被 *** 作文件的关联关系。

unlink函数则和文件标识符无关,需要一个文件路径的参数。

VMware安装完毕后,利用它可以建立多个虚拟机,每新建一个虚拟机,就会要求你建立一个配置文件。这个配置文件实际上相当于新电脑的“硬件配置”,你可以在配置文件中决定虚拟机的硬盘如何配置,内存多大.准备运行哪种 *** 作系统,是否有网络等。配置Linux虚拟机的步骤如下。

(1)选择File菜单下的“New Virtual Machine”出现新虚拟机向导后单击“下一步”,选择“Typical”典型安装。

(2)再单击“下一步”,在选择 *** 作系统界面的“Guest Operation System”中选择 “Linux”,然后单击Version对应的下拉菜单选择具体的Linux版本, 此处我们选择“Red Hat LinuX”。

(3)单击“下一步”进入安装目录选择界面。该界面上面的文本框是系统的名字,保持默认值即可,下面的文本框需要选择虚拟机 *** 作系统的安装位置。

(4)根据需要选择好后,单击“下一步”按钮,出现设置虚拟机内存大小的界面。Linux9.O对内存的要求是:文本模式至少需要64MB;图形化模式至少需要128MB,推荐使用192MB。此处我们选择192MB:

(5)单击“下一步”按钮进入网络连接方式选择界面。VMware有四种网络设置方式,一般来说,Bridged方式使虚拟机就像网络内一台独立的计算机一样,最为方便好用(四种连网方式的区别大家可参考VMware的有关资料)。在此、我们选择Brided方式。

(6)单击“下一步”按钮进入虚拟磁盘的设置界面。 这里有三种方式(Create a new virtual disk、Use an existing virtual disk、Use a physical disk)可供选择、建议初学者选择“Create a new Virtual disk”,其含义是新建一个虚拟磁盘,该虚拟磁盘只是主机—卜的一个独立文件。

(7)在“下一步”中设置磁盘大小。在此、我们采用默认的4GB。

(8)单击“下一步”进入文件存放路径选择界面。

在此界面可单击Browse按钮进行设置。此处我们使用默认值,单击“完成”按钮。

至此,完成一个虚拟机的配置。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7182393.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-02
下一篇2023-04-02

发表评论

登录后才能评论

评论列表(0条)

    保存