在命令提示符环境下获取本机IP地址的方法和命令如下:1、打开命令提示符,再运行中输入”cmd“回车即可打开命令提示符界面。 2、再命令提示符界面中输入”ipconfig/all“回车如下图: 3、以上即是获得IP地址。
获得本机ip的不太清楚,我试验了一下网上有的,基本不对,客户端ip可以用下边代码。
在accept之后,就可以得到客户端ip了。
struct sockaddr_in clientaddr;
int nConnfd = accept( nListenFD, (sockaddr)&clientaddr, &nCliLen );
if( nConnfd < 0 )
continue;
char lpszStr = inet_ntoa( clientaddrsin_addr );
cout << "accapt a connection from " << lpszStr << endl;
怎样查电脑IP地址 怎么查看自己电脑的IP地址
查寻电脑IP地址方法:
第一步:点击电脑左下方的开始→运行
开始运行cmd命令
第二步:在打开运行框中输入:cmd 命令,按回车键后出现下面的对话框:
ipconfig命令获取的IP地址结果
第三步:接着输入ipconfig,按回车键后你的电脑IP地址就显示了。
怎么查看自己电脑的IP地址很简单,直接在百度中输入IP,直接会出现你的本机IP地址,当然,还有一种方法,输入CMD进入命令行模式,输入ipconfig,可以显示本机IP
右键桌面“网上邻居”,选择属性。
进去之后发现电脑有几个网卡,我们要右键我们目前使用的网卡。
点击属性
如图,点击Inter协议(TCP/IP)
如图所示,就是我们自己设置的IP地址
如图,如果是自动获取的话怎么办?自动获取的看不到IP信息哦,小翔教你用另外一种方法,点击开始
如图,点击运行,输入cmd,然后点击确定
输入ipconfig,按回车键。如图所示,红色框框内的就是IP地址。有的人说要输入ipconfig /all ,其实不需要,因为我们只是查看IP地址,不需要显示全部。
如果你想查看本机的静态IP,那小翔教你一个非常简单的方法
首先,打开百度首页,输入 IP 然后点击百度一下。
如图,第一条就是和百度合作的平台给您显示出本机的静态IP了,强大吧?
点击 开始 --》运行--》输入:CMD 然后回车 d出一个小黑框
在黑框里面 输入:ipconfig 显示出来 本地连接 ip address 那个就是
点开始->运行->输入"cmd"->输入"ipconfig"->显示出来的就是你的IP地址
用鼠标点击“开始|程序|附件|MS-DOS方式”,打开一个MS-DOS窗口,在提示符下输入“ipconfig”,回车后就可以看到你的IP地址
利用Routeexe 程序。进入MS-DOS状态下,在提示符后输入“route print”,回车,也会显示你的IP地址
用鼠标右键点击“网上邻居”,选择“属性”,再选择本机已经安装了的网络协议,点击“属性”按钮,在出现的对话框中就可以看到本机的IP地址
如果你是局域网的用户,以上几种方法只是查询在内网的IP,想查询外网的IP就可以上hao123网站,网页下面有个实用查询,进入后选中IP地址查询,就会显示你的IP是:xxxxxxxxxxxx,这个就是你的外网的IP
win+R键,打开运行窗口,输入 cmd,回车,在命令提示符窗口输入 ipconfig 回车,就能看到
运行力输入cmd
然后输入ipconfig就行
还有网上邻居右键属性
然后本地连接右键属性
双击tcp/ip协议也卡看见自己的ip地址
我告诉你
点开始,运行,输入cmd,确定,输入ipconfig,点回车键就看到了。
怎么查看自己电脑的ip地址?点击开始--程序--附件--命令提示符,
输入IPCONFIG回车,就是自己的IP地址。
通过ADSL宽带上网时,电脑的lP地址都是自动获取的,如果用户想要查看本机的lP地址,可以通过下面的 *** 作实现。方便不会输指令的人群。
01点击菜单栏的联网表示,可以看到d出的界面中有“打开网络和共享中心”选项
02打开进入“网络和共享中心”
03单击 所连接的网络
04会d出这样的窗口(因为用的是有线网,和无线网连接的会有一些差别)
05单击“详细信息”按钮
06进入到这个界面,就可以看到自己本机的IP地址了
方向有点不对。
获取本机IP地址,一般是不通过socket这个途径,当然这个途径可以获得地址,但一般不会这么做。你可以查下getsockbyname这个函数。
至于这里为什么会显示0000,可能是你在SOCKET理解上有点出入。
my_addrsin_addrs_addr在不同的情况有不同的含义,如果是TCP监听套接口,则它的含义是比较的标准,而不是本机的IP。
比如你的机器,它有多个地址,首先127001是它的回路地址,本机可以通过127001来访问自己。其次他可能有个内部局域网地址,比如说是19216815,局域网上机器都可以通过这个地址访问你的机器。还有可能你的机器有个外网地址,比如202101563,internet上的机器都可以通过这个地址访问你的机器。
接下来说下my_addrsin_addrs_addr的含义:
如果你创建了TCP监听套接口,而且你执行的是 my_addrsin_addrs_addr赋值为127001,意思就是只有目的地址为127001的包才会被监听套接口获取,这就是一种后果,因为127001是回路地址,根本就不会出网卡,如果其它机器输入127001最后会被送回自己本机,包根本就不会到达你的机器,也就是这种接口只能接受自己本地的包。如果内网的机器发送包目的地址是你的局域网地址19216815,而且端口也是你这个套接口监听的端口,可惜的是这个端口只收目的地址是127001的包,19216815的包会被丢弃。这种接口最终结果就是只收本机的包。
如果绑定的是19216815的地址,则任何目的地址是19216815的包都会被接受(当然端口必须是一致)。这种只能局域网上的机器包会被你的端口收到,外网则不行,原因很简单,外网的19216815的包是不可能通过路由到达你的机器。
如果是你的外网地址,则同理任何外网地址到达的包都会被收到。
如果是INADDR_ANY,则意思就是不管目的地址是什么,都会被你接受。可能有点不可思议,但放心,路由器不会让什么地址的包都会到达你的主机的。
总之就是这个是监听的标准,而不是你的IP,你甚至可以把它设置成别人的IP地址,但可惜的是别人的IP地址的包,路由器是不会转发给你的,所以你什么都不会收到。(至少在当今以太网作为局域网的天下你是收不到的,路由器不转发。不知道令牌环网或者其它的局域网会怎样,当然即使是以太网也可以使用ip欺骗的技术,这有点扯远了)。
不知道我说请不清楚。
爬虫时,为了避免自己的IP被封,有时候需要设置反向代理,用其他的IP去爬。那么这里说的IP到底是电脑的什么IP呢?
首先看下 localhost 、 127001 、 192168xx 。
这里使用flask开启一个服务,这样本机可以通过 localhost 、 127001 、 192168xx (我的是 19216814 )等地址的5000端口(eg 19216814:5000 )访问服务器,而同一局域网的其它设备也可以通过 19216814:5000 访问我的服务器
这里的 localhost 一般默认指向 127001 ,所以只需要看IP
127001 是只能自己对自己使用的IP
192168xx 则是局域网下任何设备都可以访问其他设备使用的IP(包括自己对自己)
然后,如果我访问在线网站,或者爬虫,使用的IP并不是上面那两个IP,而是我的运营商分配给我的外网IP(public ip),作为我使用的这个网络的一个身份标识,一般反爬虫封的IP,也就是这个IP了
python版本:
nodejs版本:
参考链接:
就个人而言,网络中,抛开网络安全加密这些,就只单单讨论协议本身,比较难的有三个地方:
其实协议本身根据《TCP/IP详解卷1》理解起来并不难,但是实现起来就很难:数据的 *** 作,标志位的设置,网络状态的变换,中断多线程通讯等等;
在下图的七层网络协议参考模型中,IP层属于网络层,网络层最主要的作用就是:将指定IP的数据报传输到对应的主机。
下图是以太帧封装格式(RFC 894),RFC 894封装格式也是我们最常用的。
下面做个简单介绍:
下面再看看数据部分:IP数据报
图中从左到右为0~31位,共四个字节,从上到下依次增长,IP头部占20字节,剩下的为数据,如果传输层为TCP则还有20字节的TCP头部,如果是UDP则还有8字节(如果分片的话,中间的包没有UDP头部,即0字节)的UDP头部。剩下的才是真正的用户要传送的数据。可以看出传送同样多的数据,UDP协议要比TCP传送的数据多,但从这一点来说UDP速度也要比TCP快。
下面对一些字段做个简单介绍:
从上面的介绍我们知道,一个以太帧最大为1518字节
(14字节以太首部,20字节IP首部,UDP8/TCP20,因此IP包每次最大为1500==MTU。去掉协议头UDP有效数据1472字节,TCP为1460字节。还有最后的4字节CRC),但是一个IP数据报则可能会有8192字节,超过以太帧的最大限制,那么这时就需要IP分片,分批进行传输。
发送方会在IP层将要发送的数据分成多个数据包分批发送,而接收方则将数据按照顺序再从新组织起来,等接收到一个完整的数据报之后,然后再提交给上一层传输层。
我们知道,协议本身并没有对数据在各个层中间怎么传递做出要求,比如嵌入式实现和BSD实现就不太一样,因为嵌入式内存比较少,数据在层与层之间传递时会尽量避免数据拷贝,而只是指针的 *** 作。下面我们以嵌入式中用的比较多的LwIP举例
LwIP允许的最大IP由如下决定: IP_REASS_MAX_PBUFS 决定IP分片允许最大pbuf数量, IP_REASS_MAXAGE 分片的生存时间,超过则错误并将之前接收的IP分片丢弃。
如果数据大于 IP_REASS_MAX_PBUFS 则有两种选择,一,直接删除数据返回;二,是删除生存时间最长的IP分片PBUF,这个通过 IP_REASS_FREE_OLDEST 来使能。
当为UDP协议时,如果缓冲区描述符大小小于完整的IP数据包,IP分片数据包到来时,很快将描述符耗尽,后来的IP包由于无缓冲区描述符而丢弃,UDP没有重传机制,很可能永远不会接收到完整的IP分片包。从而大于 IP_REASS_MAXAGE 出现错误,因此缓冲区描述符也应增大以适应IP分片重装。
TCP发送数据时,将大于MSS的数据分段(segment不叫分片),MSS一般为1460所以,TCP数据包不会在IP层分片。
IP头部有3位标志字段,标志是否为分片包。第一位无用,第二位0:允许分片,1:不允许。第三位0:最后一片,1:后面还有分片。13位offset表示偏移,用于IP重组时数据排序,13位因此支持最大IP数据包为8192字节。
标准的BSD协议实现如下图所示,采用两个结构体,IPQ为表头,将各个IP分片表头连接起来,并存储IP信息。Ipasfrag为具体的分片数据。
以上就是关于怎么查询本机的IP地址全部的内容,包括:怎么查询本机的IP地址、c++ linux 下如何获取本机IP 和 客户端IP、怎样查电脑IP地址 怎么查看自己电脑的IP地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)