标签: ip

将IPv6转换为长到IPv6的转换

我应该如何执行从IPv6到long的转换,反之亦然?

到目前为止,我有:

    public static long IPToLong(String addr) {
            String[] addrArray = addr.split("\\.");
            long num = 0;
            for (int i = 0; i < addrArray.length; i++) {
                    int power = 3 - i;

                    num += ((Integer.parseInt(addrArray[i], 16) % 256 * Math.pow(256, power)));
            }
            return num;
    }

    public static String longToIP(long ip) {
            return ((ip >> 24) & 0xFF) + "."
                    + ((ip >> 16) & 0xFF) + "."
                    + ((ip >> 8) & 0xFF) + "."
                    + (ip & 0xFF);

    } …
Run Code Online (Sandbox Code Playgroud)

java ip type-conversion ipv6 long-integer

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

在调用存储过程时获取用户的IP地址(SQL)

是否有可能,如果是这样,如何获得用户的远程IP地址执行查询,类似于我们可以获得用户的名字:SUSER_SNAME()

在赏金之前更新

我正在寻找一种解决方案,它允许获取普通凡人用户的IP地址,而不是数据库所有者.TheGameiswar或njc提出的想法不允许捕获仅被授予execute权限的用户的IP地址.但是,它们是解决问题的绝佳方法.在这里,我列出了这些想法的精髓:

请看我遵循的顺序:

create procedure MyStoredProcedure as
select client_net_address 
from sys.dm_exec_connections
where session_id = @@SPID
Run Code Online (Sandbox Code Playgroud)

现在添加用户并授予权限:

CREATE LOGIN [user_mortal_jack] WITH PASSWORD=N'LongYouLive!!!';

GRANT EXECUTE ON MyStoredProcedure TO [user_mortal_jack];
Run Code Online (Sandbox Code Playgroud)

当我使用查询运行该过程时:

EXECUTE AS USER = 'user_mortal_jack'
exec MyStoredProcedure
REVERT
Run Code Online (Sandbox Code Playgroud)

我收到错误消息:

正在执行的模块不受信任.需要为模块的数据库所有者授予身份验证权限,或者需要对模块进行数字签名.

即使我授予了额外的许可,我也会收到此消息:

grant VIEW SERVER STATE to [user_mortal_jack];
Run Code Online (Sandbox Code Playgroud)

如果我将存储过程的开头更改为:

create procedure MyStoredProcedure
with execute as OWNER as 
Run Code Online (Sandbox Code Playgroud)

我最终得到了不同类型的错误:

无法获取有关Windows NT组/用户'blahblah\admin_user'的信息,错误代码为0x534.

赏金后更新

赏金被授予Hadi,因为他们的答案中隐藏着这一行代码:

CONNECTIONPROPERTY('client_net_address')
Run Code Online (Sandbox Code Playgroud)

让我们捕获任何凡人用户的IP地址,既不给予用户任何额外的权利,也不设置数据库TRUSTWORTHY ON选项,甚至不创建过程WITH EXECUTE AS OWNER子句.

sql t-sql sql-server ip stored-procedures

17
推荐指数
1
解决办法
3407
查看次数

如何在Java中以String形式从IP获取byte []表示

假设我有一个存储在字符串中的IP:

String ip ="192.168.2.1"

我想得到四个整数的字节数组.我该怎么做?谢谢!

java ip bytearray

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

如何在传出流量上设置Evil Bit

因此,对于我正在编写的与安全相关的应用程序,我实际上想要使用RFC3514("邪恶位")来确定网络中的流量集是否是恶意的.这被用作辅助机器学习引擎的训练数据,因此应用程序必须事先知道哪些数据包是邪恶的,哪些不是.

这应该相当简单,它只是设置一个IP层位.我试过用iptables或libpcap来做这件事,但要么他们没有功能,要么我没有发现它.

能够为机器外的所有流量设置它会很好,但过滤出来的东西会更好.(比如能够指定更高层协议设置的内容等等)

我也在使用Ubuntu.所以Linux解决方案更受欢 但除此之外,使用什么方法来实现这一点并不重要.Bash脚本,c/c ++ app,设置一些sysctl,等等.

linux security ip networking

16
推荐指数
2
解决办法
3493
查看次数

是否有node.js模块可以确定IP的地理位置?

提供IP,是否有node.js模块可以确定它所在的城市和州?

javascript ip geolocation geoip node.js

16
推荐指数
1
解决办法
7571
查看次数

mysql查询慢 - IP查找(禁止或不禁止)

我在我的PHP文件上有一个函数,用于检查IP是否被禁止.出于某种原因,我的网站非常慢,问题是当我检查IP是否被禁止时.

(我删除检查的代码,我的网站再次快速)

这是我的代码:

// index.php - everything redirects to this file in the .htaccess
<?php
include('config.php');
if(isIpBanned($_SERVER['REMOTE_ADDR'])) {
 die('access denied');
}
// rest of the code
Run Code Online (Sandbox Code Playgroud)

这是我的功能

// config.php
<?php
function isIpBanned($db, $ip) { // $db is declared correctly
 $goodIP = $db->getRecord("SELECT is_banned FROM security.ip WHERE ip = '$ip'"); // this function works and return 1 or 0
 return (bool)$goodIP;
}
Run Code Online (Sandbox Code Playgroud)

此查询大约需要2秒到3秒才能运行.为什么?我没有离开加入或其他表.

谢谢

php mysql ip performance

16
推荐指数
1
解决办法
589
查看次数

使用htaccess从文本文件中禁用IP

我阅读并了解如何使用htaccess阻止ip:

order deny,allow
deny from 111.222.33.44
deny from 55.66.77.88
...
allow from all
Run Code Online (Sandbox Code Playgroud)

但我的黑色IP列表包括数千个IP.我将所有IP保存到blacklist.txt文件中.

我可以使用htaccess调用blacklist.txt并阻止存储在此文件中的所有IP吗?如果是这样,怎么样?

ip .htaccess block text-files

16
推荐指数
1
解决办法
7861
查看次数

Android获取热点提供设备的IP地址

我正在使用

public static String getLocalIPAddress(WifiManager wm){
    return Formatter.formatIpAddress(wm.getConnectionInfo().getIpAddress());
}
Run Code Online (Sandbox Code Playgroud)

获取执行设备的IP地址.如果设备连接到"公共"wlan网络,并且设备连接到由其他Android设备通过热点托管的wifi网络,则工作正常.如果设备未连接到任何wifi网络,则返回"0.0.0.0"(正确).但是,如果设备通过提供热点来托管wifi网络,则该方法仍然返回"0.0.0.0".如何在"自己的wifi网络"中获取热点提供设备的真实IP地址?

感谢和问候

ip networking android wifimanager android-wifi

16
推荐指数
4
解决办法
6万
查看次数

在没有停止/启动或弹性IP的情况下更改EC2实例的公共IP地址

我正在EC2上运行ubuntu AMI.是否可以为正在运行的EC2实例分配/请求新的公共IP地址而不终止它并再次启动它?请注意,我对使用弹性IP功能不感兴趣,我只想使用EC2分配的常规随机公共IP地址.

ip ubuntu amazon-ec2

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

使用ip,LOWER_UP是什么意思?

使用终端工具时ip,每个接口都有许多标志.

例: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000

意义BROADCAST,MULTICAST并且UP很明确,但是什么LOWER_UP意思?我试图谷歌这个,但我没有找到一个明确的答案.当另一台主机连接到此链路时,状态转到UP,当它断开连接时,状态转到DOWN并消失LOWER_UP.这与连接状态有关吗?

编辑:

我发现了另一个有趣的事实.当我ip link set eth0 down在另一台主机(电缆保持连接)上将连接接口设置为向下(通过)时,输出变为

1: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000

然后UP标志仍然存在,但不是LOWER_UP.不应该是相反的方式吗?

linux ip terminal

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