LINUX TCP客服端连接服务器后,怎么获取连接使用的本地IP?

hell_wolf 2013-04-01 03:40:44
connect(fd, (struct sockaddr *)&addr, sizeof(struct sockaddr_in)) 连接服务器之后,怎么通过fd获取本地IP,就是怎么知道用的是哪个网卡的IP去连接服务器的?
...全文
298 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
e_play 2013-04-02
  • 打赏
  • 举报
回复
引用 3 楼 zhao4zhong1 的回复:
system("netstat -na >netstat.txt"); //然后读文件netstat.txt的内容
是的
hell_wolf 2013-04-02
  • 打赏
  • 举报
回复
引用 6 楼 AnYidan 的回复:
C/C++ code ? 123456789101112131415161718192021222324252627 /* tcp_server - set up for a TCP server */SOCKET tcp_server( char *hname, char *sname ) { struct sockaddr_in local; SOCKET……
这个怎么获取客服端IP ?
AnYidan 2013-04-01
  • 打赏
  • 举报
回复

/* tcp_server - set up for a TCP server */
SOCKET tcp_server( char *hname, char *sname )
{
	struct sockaddr_in local;
	SOCKET s;
	const int on = 1;

	set_address( hname, sname, &local, "tcp" );
	s = socket( AF_INET, SOCK_STREAM, 0 );
	if ( !isvalidsock( s ) )
		error( 1, errno, "socket call failed" );

	if ( setsockopt( s, SOL_SOCKET, SO_REUSEADDR,
		( char * )&on, sizeof( on ) ) )
		error( 1, errno, "setsockopt failed" );

	if ( bind( s, ( struct sockaddr * ) &local,
		 sizeof( local ) ) )
		error( 1, errno, "bind failed" );

	if ( listen( s, NLISTEN ) )
		error( 1, errno, "listen failed" );

	return s;
}


mzz_810 2013-04-01
  • 打赏
  • 举报
回复
引用 2 楼 justkk 的回复:
试试 getsockname
顶 如果要获取对端IP请用getpeername
hnzmdzcm 2013-04-01
  • 打赏
  • 举报
回复

#include <netdb.h>

struct hosent* gethostent(void);

struct hostent {
        char    *h_name;        /* official name of host */
        char    **h_aliases;    /* alias list */
        int     h_addrtype;     /* host address type */
        int     h_length;       /* length of address */
        char    **h_addr_list;  /* list of addresses */
};
赵4老师 2013-04-01
  • 打赏
  • 举报
回复
system("netstat -na >netstat.txt"); //然后读文件netstat.txt的内容
justkk 2013-04-01
  • 打赏
  • 举报
回复
试试 getsockname
恨天低 2013-04-01
  • 打赏
  • 举报
回复
客户端程序可以用bind()来绑定
NB-IoT现阶段访问一个服务器只能通过IP地址加口的方式,省去了DNS解析,如果产品以后的IP变化或者改变了服务IP地址,就需要一个DNS解析的功能。 通过DNS解析某个域名的IP地址,获取IP地址后再进行通信。 如果NB-IoT模块只能绑定一个IP,则可以通过这个IP获取其他IP列表,然后统一经过这个IP进行转发。 参考: 1.1.2 NB卡准备 模组使用的SIM卡为中国电信物联网专用NB卡,如下图正面(留意NB字样,无此字样的均为不合法的NB卡): 背面(留意其ICCID号,在让运营商开放IP白名单时可能需要此号码,相当于手机卡的手机号): 重要:收到卡后,需要致电背面的客服电话, 使其将您自己的IP地址加入访问白名单,此一步完成后,方能进行下面的步骤,切记切记 。 如何判定服务器IP已被加入访问白名单,使用如下两种方式: 1. AT+NPING 指令,通过PING自己的服务器地址,如返回ERROR,则多半(尚需继续排除防火墙因素)未就绪; 2. UDP通讯,如能与自己的服务器直接连接UDP通讯,那可以证明一定就绪; 1.1.3 服务器准备  首先您需要有一个固定IP的公网服务器,由于目前BC95暂不支持域名解析,故必须使用IP地址配置方式。  服务器可以使用阿里云服务器,目前本CoAP暂未开源,有Windows 32位、Windows 64位、Linux CentOS 6、CentOS 7的可执行文件,请暂时选择以上指定系统;  CoAP标准协议使用 UDP 5683 口,当然您也可以自定义此口,必须让防火墙放通UDP 的指定口;  CoAP网关需要使用WEB方式进行设备管理、用户管理等,默认使用 TCP 8080 口,同 理,防火墙必须放通此口; 1.1.4 模组准备 推荐使用 串口调试助手 sscom 来调试NB模组,如下,首先将您的NB模组上电使其启动,使用AT指令能收到OK的回复,证明已启动完毕,按如下步骤进行: 基础配置 1. 配置 NCDP 服务器使用的指令序列为 AT+CFUN=0 +NCDP=103.37.149.19,5683 AT+NRB 留意 IP 地址必须为您自己指定的IP地址,如果暂时没有,也可以用 如上 地址临时使用(但 WEB 设备管理地址也需换成这个IP),完成后重启了设备; 2. 等待设备附着网络后,使用 AT+NPING=103.37.149.19 尝试PING自己的服务器,当返回ERROR时,极有可能是 IP 白名单未成功配置的缘故; 3. 使用 AT+CGSN=1 查询设备 IMEI 号,并将设备的 IMEI 注册到 WEB 平台,如果在上面操作 过,可忽略。
Welcome to DarkShell.DDOS website     DarkShell((DDOS)集群防火墙压力测试系统)是一款由DarkShell工作室独立开发的标准的网络压力测试软件、集DDOS、WEB、ISS连接测试于一身的集群压力测试软件,可广泛应用于机房、路由、软、硬件防火墙测试,机房带宽测试,服务器负载上限测试,WEB应用测试等,具有相当的产品特性,涵盖了各种同类产品软件的功能有过而无不及,该软件来自IT技术界一流的DarkShell工作室开发,是专门针对大众化设计研发的具有创新思想和专有技术的新型网络压力测试软件。集合了市面上所有压力测试软件的优点,取得了革命性突破。可让您面对各种安全威胁防范于未然.稳操胜券! 服务的特性:     IOCP完成口、兼容和稳定性优越、占用CPU和内存资源极少、启动方式多样、无壳20K体积、防误报能力强等,压缩后10K体积更诱人。服务纯SDK打造,无MFC类,体积小巧,方便免杀,采用Shell Code特殊方式注入,无DLL穿越防火墙自动探测系统是否支持raw发包 提升攻击效率30%,注册服务启动,安全稳定。客户使用IOCP完成口上线,无上线限制,具有高效率,高发包率,不死锁等特点。支持插入SVCHOST/IE浏览器/EXP等多种进程,无DLL完全穿透防火墙,安装杀软无提示,隐蔽性极强,特征码少,免杀更方便。 自由上线模式:     专用上线、FTP上线、动态域名上线等方式完全让用户自由选择,无任何限制!HTTP上线域名后缀名可以是任意文件名和后缀名。 压力测试功能:     常规模式(SYN、UDP、TCP、ACK、IGMP、ICMP、DNS、M2游戏引擎)、WEB模式(Get协议、变异CC、无限CC、分布式循环CC、循环下载)、破防模式、游戏服务器测试模式等,以及强大的自定义模式.支持16进制于ASCII码互转。支持多模式同时进行压力测试,独有的UDP攻击,采用新型的内核技术,发送数据包不经过缓存区直接对目标发送,且仅占CPU%5左右,自动探测系统是否支持raw发包提升攻击效率30%,安全稳攻击速度一流。为企业IDC提高自身防护做到最高效率。 集群压力测试: 集群管理在线主机,给在线主机指派指定任务,可针对目标IP进行集群攻击,单独目标攻击,循环遍历目标攻击,自动循环遍历查找有效攻击数据包,专门针对高防特防机房进行压力测试,威力强大,用前请谨慎。 DNS压力测试: DNS专用测试模式,可针对单独独立域名DNS进行压力测试,以达到删除指定域名目的,也可选择针对整台DNS服务器进行压力测试,最终导致DNS服务器瘫痪,无法解析域名。 反射压力测试: 利用之前的drdos,经过反复测试,优化,利用百度,谷歌等大型企业服务网络进行欺诈,伪造源地址,让其它大型企业的服务网络进行对目标的IP地址进行大流量攻击,达到秒杀目标服务器IP的目的。 传奇假人攻击: 穿破目前一切防假人攻击脚本,利用最新技术,进行M2引擎注册假人上线,耗尽服务器资源,达到封杀目的。 Linux优势: 免费版本只支持路由内核、Ubuntu、admin等,独立开发的Linux穿盾CC模式,SYN稳定发包100%,无自启动,需Root权限发包。 批量操作功能:     同时对多台被控制进行远程批量下载,批量关机,批量重启,批量打开指定网页等功能操作。被控制自动更新、当发送此命令时,被控制会自动到控制台下载新的被控制程序,更新自己。主机暂借功能、可以把自己的在线被控暂时借给好友,当被控重起后被控则自动转换回您之前的上线地址,可保证暂借后的被控不会有借无还.自动返还。 VIP版本功能: VIP版本的功能包含所有免费版本的功能,VIP版本与免费版本不是同一个iocp,VIP版本的iocp更稳定更快速。 Linux优势: Linux支持路由内核、2.6、3.1等普通内核,路由内核支持路由三大内核、Ubuntu、admin等,独立开发的Linux穿盾CC模式,SYN稳定发包100%,自启动,无需Root权限上线即可发包。 VIP版本攻击代码实时更新,通过服务器获取最新攻击代码,无需更换服务即可享受最新攻击代码的优势,云DDOS,云数据,云获取,云攻击,云更新,开辟新业界篇章,经典在继续。 2014经典力作,DarkShell一切攻击数据包均从云获取,例如对指定服务器IP发送数据无效时,服务会从云读取另一段数据包,对其目标发送,如果有效,则进行大规模DDOS压力测试,如若无效则继续遍历数据包,查找相应数据进行发送,任何高防机器将被秒杀,独家绕过杀软,如被杀,服务将自动从云获取最新数据进行自身升级更新,省去更新免杀时用户需要自行批量更新的繁琐。 客服售后服务:     远程辅助,简单操作、灵活运用智能自动更新、24小时在线客服,接受任何反馈建议并及时采纳.
协通XT800远程服务平台,适用于软件公司对客户的售后远程技术支持、运维公司对客户计算机的远程维护和管理,和大型或连锁企业IT对公司分支机构的集中IT管理与支持。 协通XT800无需公网IP和特殊网络配置,即可穿透防火墙、内网的限制。应用于为客户做远程技术支持、远程服务器管理、和公司分支机构或门店的远程运维和通讯。 远程控制:查看或控制远程电脑、邀请对方查看或控制我的电脑。 帐号、授权码访问机制,可在远程电脑前无人的情景下使用。 一对多或多对一多人同时远程连接;支持远程重启。 联系功能:联系人列表、文本会话、联系人IP、在线状态查看。 文件传输:支持大文件(夹)传输、共享、远程电脑文件管理。 功能详细介绍: 一、远程连接功能: 1. 查看或控制远程电脑。 2.邀请对方查看或控制我的电脑。 3无需公网IP和特殊网络配置,即可穿透防火墙的限制。 4.可通过TCP/IP实现直接LAN连接,软件也适合在无互联网连接的LAN中使用。 5.“支持多种方式连接远程电脑: 通过帐号和授权码方式连接远程电脑,无需对方确认,实例:服务器无人值守运维。 通过主动发起请求方式连接对方电脑,对方确认即可,实例:主动服务、运维客户。 通过对方主动发起请求方式连接,实例:客户请求协助”。 6. “支持多方同时连接: 支持一个客服同时远程连接多台电脑,实例:一个客服同时运维多台电脑。 支持多客服同时远程控制或共享桌面一台电脑,实例:多个客服协作诊断一个重要客户电脑;或培训场景”。 7.可查看远程计算机系统和软件安装信息,以及当前进程和窗口信息。 8.锁定对方的键盘、鼠标等输入设备:避免双方出现抢光标问题出现。 9.可作为Windows系统服务方式安装和运行。 10.支持远程重启计算机,并能够自动连接到网络(即使在未到登录Windows用户环境)。 11.支持远程计算机处于屏保、锁定状态下使用。 12.远程升级:远程一键自动升级并重连登录。 13.支持剪贴板同步,以及常用的Win组合键。 14.可自动缩放远程控制窗口、也可手动制定显示模式。 15.自适应网络状况,动态调节远控的画面质量,也可手动指定“画质优先”和“速度优先”等模式。 二、联系功能: 1.联系人列表:轻松管理所有联系人,支持分组管理,一点即可发起连接。 2.状态管理:可更改自己的当前状态、查看所有联系人的当前查看在线状态。 3.文本聊天:可发送在线或离线消息、并保持历史聊天记录。 4.查看在线联系人IP、版本信息和相关机器信息。 5.设置备注名:方便查找联系人。 6.满意度调查:服务结束后,向客户发起满意度调查,并得之反馈客户是否已提交。 三、文件传输和共享功能: 1.文件传输:大容量文件传输,并支持直接发送文件夹,支持断点续传。 2.灵活的文件接收设置:设置默认接收保存路径;设置接收文件是否需要确认等。 3.文件共享:可跨局域网建立类似Windows网上邻居的共享环境,并提供多种文件共享的安全策略,包括文件夹密码保护、按联系人关系或黑白名单等等。 4.远程文件管理功能:管理远程电脑文件,支持上传、下载目录和文件,删除、创建、重命名等操作,可替代传统的FTP服务。 5.文件传输记录保存:无论采用哪种方式发送或接收了任何文件,文件传输记录中均保存了详细记录。 安全性: 1.通讯数据基于SSL:RSA公开/私有密钥交换和AES 256位会话加密编码,属网银级别加密机制。 2.支持独立虚拟专用网络,安全隔离于公众网络(即便外部人员获得授权码,也无法连接和访问企业内部计算机)。 3.支持动态授权密码,每次运行时自动变换授权码,也可设置固定的私密授权码。 4.采用授权码和登录密码分离机制,并加密存储在用户本地计算机,强化安全保障。 5.灵活的黑、白名单安全策略:可自行控制被访问规则。 6.软件锁定功能:防止无人值守时被非法使用或篡改配置。 7.软件设置专用锁定功能:防止被修改授权码等其他安全配置。 可用性: 1.内置智能路由策略,能够最近的服务器,加快连接速度和数据转发效率。 2.常规在3-8秒内可连接。 3.自适应网络状况,动态调节远控的画面质量,提升操控的流畅度。 4.高达97%的P2P直连穿透率,优化传输速度。 5.自主研发的图像压缩及编解码技术,可有效减少带宽消耗及画面延迟。 6.消耗带宽小,公网环境下常规带宽需求2~30KB. 7.永久性的唯一伙伴ID,而不是会话ID (就像是QQ号码)。 8.国际键盘支持。 9.排列清晰的用户界面,可实现简单而快速的操作。 10.支持网络代理。 11.自动穿透操作系统的UAC限制,无需特殊设置(Vista/Win7/2008环境下)。 五、解决方案:(大型企业参考:协通XT800远程服务平台)。 1、可批量快速部署被控、设定运维流程、指定运维关系、客服和客户管理、群发消息广播,增加便捷性和可控性。 2、快速部署的XT800远程助手版:可一键求助,企业品牌体现,提升品牌形象。

69,377

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧