标签: ip

在互联网层或传输层完成校验和?

我做了很多研究,这只会使我更加困惑。问题是,是否在Internet层(IP),传输层(TCP / UDP)或两者都验证了数据包校验和?

谢谢Yan

ip networking checksum tcp ipv4

3
推荐指数
1
解决办法
5663
查看次数

如何在Unix套接字编程中获取本地IP地址和端口?

我用这个作为地址来创建一个新的服务器(socket(),bind(),listen()):

struct sockaddr_in newServer;
memset(&newServer, 0, sizeof(newServer));
newServer.sin_family = AF_INET;
newServer.sin_addr.s_addr = htonl(INADDR_ANY);
newServer.sin_port = htons(UNUSED_PORT);
Run Code Online (Sandbox Code Playgroud)

宏UNUSED_PORT定义为0.

我期望让服务器监听任何接口和未使用的端口.

我试图用来getsockname()获取我的本地IP地址和端口,但我得到了一些奇怪的输出.输出代码如下:

struct sockaddr_in localAddress;
socklen_t addressLength;
getsockname(newServerfd, (struct sockaddr*)&localAddress,   \
                &addressLength);
printf("local address: %s\n", inet_ntoa( localAddress.sin_addr));
printf("local port: %d\n", (int) ntohs(localAddress.sin_port));
Run Code Online (Sandbox Code Playgroud)

例如,我得到0.255.255.255:0,0.0.0.0:0,255.127.0.0:36237等,我的系统是Mac OS X 10.7.3.

--update--

使用后socklen_t addressLength = sizeof(localAddress);(感谢@cnicutar和@Jonathan Leffler),我总是得到0.0.0.0的本地IP; 那好吗?

c unix sockets ip port

3
推荐指数
1
解决办法
2万
查看次数

代理机制如何与浏览器中的代理设置一起使用

我们经常在Web浏览器代理设置中找到地址,端口等列.我知道当我们使用代理访问页面时,Web浏览器从代理服务器请求网页,但我想知道的是整个机制是如何工作的?我观察到许多ISP在我们用完我们的免费数据使用后只允许访问单个IP(他们的网站).但是当我们进入我们想要在代理URL中浏览的站点然后键入允许的IP时,该站点就会被加载.这是怎么回事?

ip proxy

3
推荐指数
1
解决办法
7155
查看次数

NetworkInterface.GetIPv4Statistics().BytesReceived - 它返回什么?

该特定领域的回报是什么?我想要每秒接收的字节数.我应该依靠这个吗?

.net c# ip networking

3
推荐指数
1
解决办法
6505
查看次数

如何使用nodejs控制UDP数据包的源IP或端口

我正在开发一个通过SNMP协议与嵌入式设备连接的应用程序.为了便于测试,我使用Nodejs和snmpjs库为嵌入式设备编写了一个模拟器.模拟器响应SNMP获取/设置并将陷阱发送到管理应用程序.陷阱消息由snmpjs库构建,但使用Node的标准UDP套接字手动发送.

这在模拟一台设备时效果很好,但在尝试模拟多台设备时遇到了问题.具体地,管理应用程序通过分析携带陷阱的UDP数据包的源IP /端口来识别SNMP陷阱的源设备.这就排除了我同时模拟多个设备,这是应用程序最常见的用例.

所以,我的问题是:有没有办法用Nodejs控制/欺骗udp数据包的源IP或端口?或者,或许可以使用某种代理来实现预期的结果吗?

(注意:在一台机器上运行模拟器是一项严格的要求.另外,我为每个模拟器提供独特的IP /端口是不够的,我必须能够提前知道它们的值,以便我可以配置管理应用程序正确地与它们接口.)

ip integration-testing udp snmp node.js

3
推荐指数
1
解决办法
1588
查看次数

PHP检查IPAddress是否是本地的

我可以检查一下ip是否在私有网络中吗?

<?php
function isLocalIPAddress($IPAddress)
{
    return ( !filter_var($IPAddress, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE ) );
}

var_dump( isLocalIPAddress('127.0.0.1') ); // false
var_dump( isLocalIPAddress('192.168.1.20') ); // true
var_dump( isLocalIPAddress('64.233.160.0') ); // false
Run Code Online (Sandbox Code Playgroud)

为什么要isLocalIPAddress('127.0.0.1')给予false而不是true

127.0.0.1不是私有IP吗?


UPDATE

解决方案我用过:

<?php
function isLocalIPAddress($IPAddress)
{
    if( strpos($IPAddress, '127.0.') === 0 )
        return true;

    return ( !filter_var($IPAddress, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE ) );
}
Run Code Online (Sandbox Code Playgroud)

php ip networking

3
推荐指数
1
解决办法
1374
查看次数

Oracle:将IPv4地址转换为数字?

如何将点分十进制格式的IPv4地址转换为数字?例如,地址39.255.2.51应转换为4026466867.

oracle ip

3
推荐指数
1
解决办法
2490
查看次数

Ruby on Rails:在Rails 4.2上是否锁定了外部访问的IP端口3000?

我在计算机上的RoR应用程序上运行了两个版本:一个用于演示(稳定状态,RoR 4.0),另一个用于开发(RoR 4.2).可以使用http:// localhost:3000访问这两个版本.

但我注意到一个恼人的区别:演示版可以从网络上的另一台计算机访问.Dev版本不能.当Dev版本稳定并成为Demo时,这将是一个很大的麻烦.我的客户希望通过wlan在他自己的笔记本电脑上进行测试.

是否有新实施的"防火墙"功能?这是我的宝石之一吗?

如果有人能向我解释这种改变的行为,我会很高兴的!

对于这两种环境,服务器都是Webrick WEBrick 1.3.1.这是我的宝石文件:

开发(无法从另一台计算机访问)

source 'https://rubygems.org'
ruby '2.2.0'

gem 'rails', '~> 4.2.0'
gem 'bootstrap-sass', '~> 3.3.3'
gem 'sass-rails',   '~> 5.0.1'
gem 'coffee-rails', '~> 4.1.0'
gem 'uglifier', '~> 2.7'
gem 'bcrypt', '~> 3.1.10'
gem 'jquery-rails', '~> 4.0.3'
gem 'turbolinks', '2.5.3'
gem 'jbuilder', '~> 2.2.6'
gem 'bootstrap-datepicker-rails', '~> 1.3.1'
gem 'will_paginate', '~> 3.0.7'
gem 'bootstrap-will_paginate', '~> 0.0.10'
gem 'selenium-webdriver', '~> 2.44.0'
gem 'sequenced', '~> 2.0.0'
gem 'annotate', '~> 2.6.5'
gem 'rspec-rails', '~> 3.2.0' …
Run Code Online (Sandbox Code Playgroud)

ip ruby-on-rails webrick

3
推荐指数
2
解决办法
3267
查看次数

列出本地网络上的所有设备?

我已经尝试arp -a了很多,它列出了一些设备,但不是全部.ifconfig显示我的IP地址和mac地址以及一些其他有用的信息,但它不显示本地网络上的所有设备.是否有显示所有IP地址的命令?

ip arp ifconfig wifi

3
推荐指数
1
解决办法
3万
查看次数

Golang net/http客户端 - 捕获提供响应的服务器的IP地址

使用Golang(默认HTTP客户端),我无法直接确定处理请求的服务器的IP地址.例如,在请求example.com时,example.com在请求时解析的IP地址是多少?

import "net/http"

resp, err := http.Get("http://example.com/")
Run Code Online (Sandbox Code Playgroud)

resp对象包含resp.RemoteAddr属性,但在客户端操作期间未使用如下所述.

 // RemoteAddr allows HTTP servers and other software to record
 // the network address that sent the request, usually for
 // logging. This field is not filled in by ReadRequest and
 // has no defined format. The HTTP server in this package
 // sets RemoteAddr to an "IP:port" address before invoking a
 // handler.
 // This field is ignored by the HTTP client.
 RemoteAddr string
Run Code Online (Sandbox Code Playgroud)

有没有直接的方法来实现这一目标?我最初的想法是:

  1. 启动对远程域的DNS查找
  2. 使用返回的A/AAAA记录创建新的http传输
  3. 提出要求
  4. 在响应对象上设置RemoteAddr属性 …

ip http go

3
推荐指数
1
解决办法
1389
查看次数

标签 统计

ip ×10

networking ×3

.net ×1

arp ×1

c ×1

c# ×1

checksum ×1

go ×1

http ×1

ifconfig ×1

integration-testing ×1

ipv4 ×1

node.js ×1

oracle ×1

php ×1

port ×1

proxy ×1

ruby-on-rails ×1

snmp ×1

sockets ×1

tcp ×1

udp ×1

unix ×1

webrick ×1

wifi ×1